ASAP: Application Development

 ASAP, Aspiring Software  Architects Program, was a series of web casts originally delivered for aspiring application architects in India. It brought Champion Architects from Microsoft's partner organizations who were challenged by Microsoft host, Vikram Rajkondawar to share their experience, challenges faced, pitfalls and lessons learnt across interesting topics

The program was a complete success so I asked Vikram for the chance of making all these available for any aspiring architect all over the world (session language is English in all cases). I want to thank Vikram for this contribution, that I'm confident that will help a lot of developers raise the bar, start thinking on computer applications in a different manner and get the necessary background and skills

The remaining ingredients in the Architecture Career prescription is up to you, guys: experience, dedication and passion! smile_regular Enjoy!


Architecture and Design Fundamentals in the .NET World This session talks about architecture from the .NET perspective. We will try to understand the roles of architects and designers in a software project. We will delve into patterns and practices, some of the enterprise solution patterns authored by Microsoft.  We will discuss software factories and debate the viability of software factories. We will discuss tools and offerings from Microsoft and also some open source tools that enable Continuous Integration. Towards the end we will discuss the Architecture of the Case Study.
Abilities Design : Architecting for Performance This session talks about how to architect and design applications for application performance with proven models. We will discuss various best practices used to architect, design and code applications that would help in providing consistent performance against industry benchmarks. We would also discuss various techniques to review, measure and tune performance.
Architecting the UI Layer This session we would discuss how to architect consistent, scalable and high user performance user interface. We would also look at the end user productivity gains that organization can expect from a great UI, using the various UI design patterns, web client software factories and leveraging web 2.0/Ajax in creating a extensible environment.
Architecting End-to-End Security This session focuses on the various security considerations that influence the development of the architecture of a .NET application. It starts with the business imperatives of considering security and the right amount of security to implement in the architecture. It also discusses security topics like authentication, authorization, auditing, single sign-on, external interface security, secure data transmission and storage as well as security architecture for SaaS scenario. It discusses the value of conducting threat modeling in application development and also the secure coding practices that must be implemented to mitigate the risks associated with the common attack vectors.
Designing Service and Business Layer This session discusses the best practices around building business layer as well as service layer components. It also focuses on the importance of moving towards SOA and terminologies and ontology relevant to service orientation. This session also discusses the patterns and anti-patterns which are appropriate for business and service layer design/development. We will also talk about Microsoft’s Web Services Software Factories implementations which are useful to get started on SOA along with the case study.
Data Architecture This session is about the guidelines for implementing a data tier in a multi-tier .NET based application. We discuss on what are the challenges faced during designing the data architecture and the considerations that an architect should take care of. We also discuss on different methods/patterns available for passing data across various layers and for e.g. how SaaS or SOA architectures influence these decisions.
Testing for Architects This session is about how testing influences architecture, and how it helps architecture. We discuss the various types of testing - functional testing, non-functional testing (load tests, stress tests, etc.) and touch upon performance testing - what counters to look for, what some interpretations are, etc. We also look at testing in the current RIA / SOA world. We also look at Microsoft's offerings in the testing arena, and how to leverage these tools well.
Deployment and Management and Transitioning to an Architect In this session we discuss on how Deployment Management directly impacts revenue and end customer satisfaction. We discuss the criticality to map system functional, non functional requirement to production physical environment in early stages and define deployment strategy. We will also talk about some of the key aspects to be considered while deployment like Management are Security Consideration, Rollback Process, Application Configuration Information, Error Logging Mechanism, System Alerts Management, Load Balancing and lot more.