In early 2007, a global financial services company turned to Sogeti Group, a market-leading IT firm, to develop an application that would increase workflow efficiency by enabling employees to quickly access and enter customer account information through a Web-based interface. Sogeti sought to reduce development time and improve overall application life-cycle management on this new project—without trading speed for accuracy or quality. Using Microsoft® Visual Studio® Team System 2008 Architecture Edition, a single Sogeti architect completed a multilayered system model of the new application in just two days. Now, Sogeti can design and build detail-rich application models faster, which streamlines the entire development process and contributes to a better overall development experience.
||Microsoft Visual Studio Team System 2008 Architecture Edition enabled us to build better architecture and design up front in less time, which led to faster overall development.
||Clemens Reijnen, Senior Software Architect, Sogeti Netherlands
With its headquarters based in France, Microsoft® Gold Certified Partner Sogeti, a subsidiary of IT consulting firm Capgemini SA Group, forms the Local Professional Services Division, providing proximity information technology services for large accounts. Comprised of 18,000 employees, Sogeti Group designs, develops, and deploys solutions for clients worldwide.
In early 2007, a financial services company turned to Sogeti wanting to accelerate market delivery of new savings instruments and improve account management across its retail banking line-of-business. The company was looking for an application, accessible through a Web interface, which would let call center employees access and enter critical account data and other information, and deliver it to customers in real time. The new client would have its own database and would also communicate with five systems, such as accounts, products, and deposits. The customer engaged with Sogeti to create the new application.
In determining the requirements for this project, Sogeti learned that the new application would need to integrate with the customer’s enterprise service bus (ESB), which used the Microsoft .NET Framework 1.1. The Sogeti team immediately recognized the challenge in establishing communication and authorization between the existing ESB and the new application. In addition, because the ESB employs a message standard based on Interactive Financial Exchange, the Sogeti team anticipated difficulty in working with so many custom types and intricate XML schema diagrams (XSDs).
Sogeti Netherlands had considerable experience developing similar Web-based call center applications for other customers in the financial services industry. But after evaluating its own software development life-cycle performance, the company knew that it could improve in certain areas. “We wanted to reduce development time and improve overall application life-cycle management on this new project, but we couldn’t trade speed for accuracy or quality,” remarks Clemens Reijnen, Senior Software Architect for Sogeti Netherlands.
The Sogeti development team focused on building better architecture and design. By designing a comprehensive system model up front, the team would immediately gain better process control through improved early collaboration, which would help avoid costly delays at successive development stages.
“Because of the complexity of the systems involved with this application, developing good, solid modeling around the design was essential for us to be able to achieve our goals,” says Reijnen.
To build, design, and develop an application that would address the customer’s business and IT needs, Sogeti turned to the Microsoft .NET Framework 3.5 managed code
||1 architect |
|Estimated time to complete
||2 days to complete the design model|
- Microsoft Visual Studio Team System 2008 Architecture Edition
- Software factories from the Microsoft patterns and practices group
||Microsoft Visual C#|
|Programming model and technologies
- Microsoft .NET Framework 3.5
- Domain-Specific Languages Toolkit
- Guidance Automation Toolkit
programming model, the software factories from the Microsoft patterns and practices group, and Microsoft Visual Studio® Team System 2008 Architecture Edition. Visual Studio Team System Architecture Edition offers top-down service designers that enable an application architect to perform the design of a business solution without having to be confronted with technology decisions. Visual Studio Team System Architecture Edition helps the user progressively refine a high-level system design, creating new subsystems and applications in the context of the system in which they are to be used.
||The kind of agility we got from Visual Studio Team System 2008 Architecture Edition at both the micro and system level saved lots of time by making modeling easier.
||Clemens Reijnen, Senior Software Architect, Sogeti Netherlands
In just two days, Reijnen created a visual, multilayered design model that defines the interrelation of all application systems. To create this model, the architect relied on the System Designer, Application Designer, and application templates customized with software factories from the Microsoft patterns and practices group.
Creating a Highly Visual Layout Through Top-Down Design
With Visual Studio Team System 2008 Architecture Edition, architects can begin the design process using System Designer instead of the Application Designer. Reijnen used the System Designer to create a broad framework diagram that helped the development team visualize the overall configuration of systems.
“Visual Studio Team System Architecture Edition lets me start by defining systems, which was much more comfortable, because I didn’t exactly know what the application landscape would look like,” explains Reijnen.
The Sogeti team also used System Designer to create a rich visual layout of the component systems, their applications, and all connection points throughout the system. Although this design step generated no code, the system diagrams proved vitally important in managing the early stages of the development life cycle and communicating key concepts to the development team. As Figure 1 illustrates, Reijnen implemented a progressive design approach, adding more and more detail to the system model with each new step.
“Early on, I was able to quickly create a nice overview of the systems and their applications that I could present to stakeholders for discussion,” recalls Reijnen.
Shaping the Application Landscape
Sogeti architects took advantage of the flexibility of the Application Designer to continuously define and configure new applications as they added them to the design surface. The dynamic capability of Application Designer let the architects move forward in articulating the system design model despite the absence of some information.
For example, at the time the system design model was first being created, the service contracts were known, but there wasn’t sufficient detail available to design the business or data resource layers. Nevertheless, using the flexible Application Designer, architects could make continued progress during this early stage. By inputting the methods and types exposed by the service contracts into the Web Service Details window, models from the Service Factory were automatically generated and added to the service. The Application Designer also enables users to change the automatically generated code as quality attributes or other details change.
“The kind of agility we got from Visual Studio Team System 2008 Architecture Edition at both the micro and system level saved lots of time by making modeling easier,” says Reijnen.
|Figure 1. A progressive approach to system design.|
The flexibility of the application diagram also promotes enhanced automation between design and implementation. While gathering requirements for this project, Sogeti data analysts created lengthy use-case diagrams and XSDs to define the application. The Sogeti team extracted this information and entered it into the Web Service Details window. This made it possible for the team to create customized software factories that gather information from the application diagram and generate high-quality, specialized code from it.
Reijnen used this service software factory to create data contracts, message contracts, service interfaces, service implementations, and service agents.
“Because I was able to generate code with some extra functionality built into it, such as maintainability and security, the developers are free to focus on business functionality,” explains Reijnen.
The team added extensibility through the use of software factories. By attaching software factories to the application diagram, they were able to create detailed endpoint configuration. This strengthened the team’s ability to dynamically generate and test code in the process of creating a more robust overall system design model.
“Access to the software factories supported by the Microsoft patterns and practices group was key to creating more detailed modeling in less time and with predictable quality. Since we were able to attach and test the software factories, developers did not have to worry about how to layer or implement services, or how to define the solution to these kinds of problems,” says Reijnen.
By using Visual Studio Team System 2008 Architecture Edition, Sogeti Netherlands created a detail-rich, distributed system design model. This let the Sogeti team speed up and enhance application life-cycle management by defining the application, infrastructure subsystems, connection points, and all settings and constraints in less time. Now, the company is on track to deliver a new Web client application that will greatly improve the way the customer streamlines workflow processes across its retail banking line-of-business.
Higher Quality, Faster Outcomes
||Visual Studio Team System Architecture Edition lets me start by defining systems, which was much more comfortable, because I didn’t exactly know what the application landscape would look like.
||Clemens Reijnen, Senior Software Architect, Sogeti Netherlands
Using the enhanced System Designer feature of Visual Studio Team System Architecture Edition, the Sogeti architect achieved higher-quality system modeling. The ability to design progressively using the top-down method helped the architect gain a better understanding of how each application system worked and how these component systems were interrelated. He then translated this greater depth of understanding into highly detailed, yet agile, system architecture capable of integrating new requirements, which saved time throughout the development and implementation stages.
“Microsoft Visual Studio Team System 2008 Architecture Edition enabled us to build better architecture and design up front in less time, which led to faster overall development,” explains Reijnen.
Sogeti quickly generated a system design model that articulates the connections across all layers of the distributed application in a highly visual way, which helped reduce Phase I development time by 50 percent. The key to faster development time for Sogeti was the ability to implement agile architectural modeling that could be easily expanded through a progressive design approach.
The flexibility of Visual Studio Team System Architecture Edition enabled the Sogeti team to solve several development challenges early on, such as the problem of enabling communication and authorization between the customer’s ESB and the Web client application. In addition, during the process of defining the application landscape, the team created customized templates with help from software factories supported by the Microsoft patterns and practices group. The use of customized, solution-specific templates strengthened communication and collaboration between Reijnen and the development team. This meant that they were able to build higher-quality services in less time.
Enhanced Application Life-Cycle Management
Visual Studio Team System Architecture Edition combines many design capabilities, offering a total solution package for distributed system design. The team at Sogeti took advantage of the integration of the System Designer and Application Designer features to gain enhanced application life-cycle management.
“We designed and built a robust modeling framework with code that can be easily shared with the development team,” notes Reijnen.
Microsoft Visual Studio 2008
Microsoft Visual Studio 2008 is the world’s most popular development environment for designing, developing, and testing next-generation Windows®-based solutions and Web applications and services. By improving the development experience for Windows, the Web, mobile devices, and Microsoft Office, Visual Studio 2008 helps organizations deliver a variety of solutions more productively than ever before. Visual Studio Team System expands the product line with new software tools that enable greater communication and collaboration throughout the development life cycle. With Visual Studio 2008, businesses can deliver modern service-oriented solutions more efficiently.
For more information about Visual Studio 2008, go to:
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
For more information about Sogeti products and services, call 088 660 6600 or visit the Web site at:
This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.