22
The Spring Framework Workshop, Nov 23 rd 2006 Use of Spring Framework in Large Scale Java and .NET Systems Yagiz Erkan Chief Technical Architect DeCare Systems Ireland

What Do We Develop?

  • Upload
    zubin67

  • View
    519

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Use of Spring Framework in Large Scale Java and .NET

Systems

Yagiz ErkanChief Technical ArchitectDeCare Systems Ireland

Page 2: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Agenda

• Our Technical Background and Adoption of Spring Framework

• Sample Applications

• Important Lightweight Principles

• Benefits of Using Spring Framework

Page 3: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

What Do We Develop?

• Highly Scalable, Large Enterprise Systems

• Web-based B2C, B2B Systems

Page 4: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Technical Milestones

• 1999 – Avon.com (Microsoft – Classic ASP)• 2000 – J2EE Project using Model 1 Arch.• 2000 – Custom MVC Framework• 2001 – J2EE Project using EJB 1.1 (BMP)• 2002 – Microsoft Project using ASP, VB, VC++• 2002 – J2EE Project using EJB 2.0 (CMP) and

Apache Struts• 2003 – Rod Johnson’s First Book• 2004 – Agile Development Process• 2004 – Spring Framework

Page 5: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Agenda

• Our Technical Background and Adoption of Spring Framework

• Sample Applications

• Important Lightweight Principles

• Benefits of Using Spring Framework

Page 6: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Sample Enterprise Applications

• DeltaUSA National Provider File System

• Expedia SOA Framework

• DQV Dental Insurance System

Page 7: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

DeltaUSA National Provider File System (NPF)

• US National Data File of Healthcare Provider Information• Helps to Administer Multi-State Dental Benefits and

Services• Used by Insurance Companies (Deltas) in 39 states to

price procedures• Insurers Run Partial or Full Updates• Insurers Can Update Their Own Data and Can Retrieve

Data From All States Both in Real-Time and Batch• Insurers Can Access The Provider Data Using the Web-

Based Application• “Hit-Fee” Applies When an Insurer Accesses Data

Outside Its Administering State

Page 8: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

NPFCore Architectural Features

• Outperformed the Mainframe• Three Different Types of Interactions: Real-Time, Batch

and Web-Based• NIO Server: Fee and Update Engine• Logical Separation of Layers Using Spring• Struts Integrated with Spring• Auditing Implemented using Spring AOP• Apache Tomcat As Web Container• Secured by Netegrity SiteMinder• Reports Generated by Crystal Enterprise• Oracle RDBMS (9i and 10g)

Page 9: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

NPF - High Level Architecture

Page 10: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

NPF – High Level Architecture

Page 11: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Expedia SOA Framework (ESOAF)

• SOA Strategy

• SOA Framework on Apache Axis

• Legacy C++ Code

• Interoperability Between Legacy and Java Applications

• Interoperability Between Expedia and Their Partners

Page 12: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

ESOAFCore Architectural Features

• The End Users Are Developers• WS-* Standards• Apache Axis is the WebServices Stack• Spring-Aware Axis Front Controller• Spring-Aware Axis Handler Chain• Spring-Aware Custom Service Provider• Acegi Security For Method-Based

Authorization

Page 13: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

ESOAF - High Level Architecture

Page 14: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

DQV Dental Insurance System

• Large-Scale Insurance System• New Strategic IT Plan• Single Sing-On Access• Various Tracks of Development

Containing Multiple Modules– Membership– Provider– Group– Etc.

Page 15: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

DQVCore Architectural Features

• Microsoft .NET Framework 2.0• Spring.NET• NHibernate• ASP.NET 2.0 AJAX Toolkit• Microsoft Enterprise Library Application Block• Microsoft .NET Framework 3.0• Web Services to Create Business Interface• Data Confidentiality

Page 16: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

DQV – High Level Architecture

Page 17: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Agenda

• Our Technical Background and Adoption of Spring Framework

• Sample Applications

• Important Lightweight Principles

• Benefits of Using Spring Framework

Page 18: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Important Lightweight Principles

• Strive For Simplicity

• Fix What’s Broken

• Automate Unit Tests

• Use Short Cycles

• Active Customer Participation

Page 19: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Agenda

• Our Technical Background and Adoption of Spring Framework

• Sample Applications

• Important Lightweight Principles

• Benefits of Using Spring Framework

Page 20: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Benefits Of Spring Framework

• De Facto Standard

• Modular Framework

• Don’t Reinvent The Wheel!

• Simplification

• Standardization

• Code Becomes Easier To Unit Test

• Doesn’t Have An Attitude

Page 21: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Benefits Of Spring Framework

• Integrates Rather Then Reinvents• Dependency Injection• Good Programming Model• Program To Interfaces• Modularization• Spring AOP• Declarative Transaction• Declarative Security Through Acegi

Security Framework

Page 22: What Do We Develop?

The Spring Framework Workshop, Nov 23rd 2006

Summary

• We Deliver Large-Scale Enterprise Applications

• Spring Has Helped Us In Concentrating In Bringing Business Value To Our Customers

• We Embrace Lightweight Development Principles