-
Sydney
11th - 15th July
Overview
While many developers and managers have a clear idea regarding the characteristics, practices, and corresponding set of responsibilities of their own roles, the picture is often vague when it comes to software architects. What is the single most important task facing the software architect? What is the division of labor and responsibilities between the architect and the project manager? How much the architecture should be tied in to the particulars of the underlying technology used, or for that matter, for the specifics of the business? where is the hand-off point between the architect and the developers? What are the necessary skills and analysis tools employed by an architect? How do you validate the design before construction? How do methodologies such as service-orientation affect the design and development process? What are software architecture best practices, guidelines and pitfalls? How do you go about designing world-class systems? How do you make the transition from abstract design patterns and concepts to concrete development decisions? How does the architect decompose the system into its sub system and modules?
The class answers the above questions by teaching the attendees the battle-proven practices of IDesign, distilling lessons learned during more than a decade of architecting systems across numerous projects, industries, countries, and teams. The class also points out classic mistakes and risk mitigations across the process, technology and design. Conducted in the style of a classic Master Class, Juval will provide the common foundation required by software architects, both technical and soft skills.
Noteworthy is that this class is called the Architect's Master Class (as opposed to the Architecture Master Class) because it is dedicated to the core body of knowledge required of today's modern software architects, knowledge that transcends mere design patterns and architecture. The core body of knowledge comprises of three elements: development process, technology, and finally analysis and design. The class shows the architect how to take an active leadership role on all three aspects, as a continuum, since when executing a design, one cannot separate process from design from technology - all three have to work in concert. The class agenda reflects these three elements. The first part is devoted to the accompanying service-oriented development process and the required project management skills. The second part is an immersion in key modern design patterns and development skills, using WCF as a reference model, as a way of illustrating the design ideas and best practices, ensuring the architect is a qualified technical lead. These include interface-based design and contract factoring, service-oriented design, general design principal and patterns concerning reliability, data transfer, instance management scalability and throughput, availability and responsiveness, loosely coupled systems, service discovery, fault propagation, transaction management, concurrency management, security scenarios, and the new Windows Azure AppFabric Service Bus. This section of the class also includes a detailed projection of the next platform after .NET, and how to best prepare for it.
In the last part Juval will explain the IDesign original approach to large system analysis and design called the IDesign Method. The IDesign Method has three elements: it is a method for decomposing a system into modules or services based on the system top-level uses cases, the IDesign Method offers a set of very simple design notations to capture the design decisions, and the Method is a near-mechanical approach to automating the design decision of rarely discussed topics such as allocation of services to assemblies, allocation of services to processes, transaction boundaries, identity management, authorization and authentication boundaries, synchronization and more.
You will also receive the IDesign documents and diagram templates, tools and samples and reference projects.
Don't miss on this unique opportunity to learn from Juval, share their passion for architecture and software engineering, gain from their experience of numerous design projects and profound insight on architecture, technology and its applications.
Target Audience
Any .NET architect, project lead or senior developer would benefit greatly from the class.
Outline Architect’s Master Class
The Architect
- Software development as engineering
- Types of architects
- The role of the architect
- Architects and technology
- Architects and the business
Service-Oriented Development Process
- Project planning
- Estimation and tracking
- Documentation
- Requirement management and traceability
- Configuration management
- Quality control
- Design for performance
- Services simulation and emulation
- Peer reviews
- Development standards
- Metrics collection
- Visibility management
- Avoiding Process Groupthink
Introduction to Service-Orientation
- Why service orientation
- Service-oriented architecture
- Service-oriented applications
WCF Essentials
- Service-oriented programming
- WCF architecture
- Implementation considerations
Service Contract Design and Factoring
- Service contract design
- Contract factoring techniques
- Contract metrics
Service-Oriented Design Patterns and Best Practices
- Data contracts and data contracts versioning
- Instance management and throttling
- Operations and event management
- Service discovery
- Windows Azure AppFabric service bus
- Transaction management and consistency
- Concurrent management, responsiveness and availability
- Design for security
Service Granularity
- Every class as a service?
- Performance consideration and perspective
- WCF benchmarks
- Beyond .NET and WCF
- The future platfrom
Design and Architecture
- Service decomposition
- Use cases analysis
- Assembly allocation
- Run-time processes design
- Identity management
- Authentication
- Authorization
- Transaction flow
- Synchronization
Process Groupthink
- What about Monday
- The pitfall of Groupthink
- Architect as agent of change
Location Details
Agenda
Start |
9AM |
Morning tea break |
11AM - Tea, coffee and light refreshments provided |
One hour Lunch Break |
1PM - Catered lunch provided on Friday |
Afternoon Tea break |
4PM - Tea, coffee and light refreshments provided |
Finish |
6PM |
Related Links
Full syllabus here