1 / 23

Architecture, Styles, and Service Oriented Architecture

Architecture, Styles, and Service Oriented Architecture. Richard Osborne September 22, 2006. Architecture Defined. the art of creating an actual, implied or apparent plan of any complex object or system

Télécharger la présentation

Architecture, Styles, and Service Oriented Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture, Styles, and Service Oriented Architecture Richard Osborne September 22, 2006

  2. Architecture Defined • the art of creating an actual, implied or apparent plan of any complex object or system • a subjective mapping from a human perspective to the elements or components of some kind of structure or system, which preserves the relationships among the elements/components

  3. IT or Systems Architecture • Many definitions • the representation of an engineered system, and the process and discipline for effectively implementing the design(s) for such a system. Such a system may consist of information and/or hardware and/or software • The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution. From ANSI/IEEE 1471-2000

  4. IT or Systems Architecture • A representation of a system in which there is a mapping of functionality onto hardware and software components, a mapping of the software architecture onto the hardware architecture, and human interaction with these components. From the Carnegie Mellon University's Software Engineering Institute • An architecture description is a formal description of a system, organized in a way that supports reasoning about the structural properties of the system. It defines the [system] components or building blocks...and provides a plan from which products can be procured, and systems developed, that will work together to implement the overall system. It thus enables you to manage...investment in a way that meets [business] needs. From The Open Group Architecture Framework

  5. IT or Systems Architecture • All have some common elements: • Structure • Components • Relationships • Purpose • Plan

  6. Enterprise Architecture • Applying IT Architecture disciplines to an enterprise • Outside-in, strategy-driven, top-down viewpoint • Alignment – the “holy grail” • the practice of applying a comprehensive and rigorous method for describing a current and/or future structure and behavior for an organization's processes, information systems, personnel and organizational sub-units, so that they align with the organization's core goals and strategic direction

  7. Enterprise Architecture • FEA – Federal Enterprise Architecture • Core Principles: • Business-driven • Proactive & collaborative across the Federal government • Architecture improves the effectiveness and efficiency of government information resources • No IT investment without a business-approved architecture

  8. Enterprise Architecture • Alignment of business strategy & IT investments • Architecture is the translation of business strategy into technical strategy • Use of a framework to: • Document current state • Define the future state desired capabilities • Create a roadmap to get there • There are many reference frameworks • Zachman • FedArch • E2A • TOGAF

  9. Enterprise Architecture • All have some combination of the following concepts:

  10. Reference Architecture • Reference architecture - a style or method • a coherent design principle used in a specific domain • describes the kinds of system components, their responsibilities, dependencies, possible interactions, and constraints. • basis for designing the system architecture for a particular system. • the architect can select from a set of well-known elements (standard parts) and use them in ways appropriate to the desired system architecture

  11. Reference Architecture • Pre-defined architectural pattern • Designed and proven for use in particular business and technical contexts • Often harvested from previous projects • Best practices • Abstract solutions from many previous attempts • Example - Open System Interconnection model defines a networking framework for implementing protocols in seven layers

  12. Service Oriented Architecture • A collection of services that communicate with each other • A service is a function that is well-defined, self-contained and does not depend on the context or state of other services • From simple data passing to two or more services coordinating (orchestrating) some activity (business process) • Not a new concept

  13. Service Oriented Architecture Service Oriented Business Applications (Loosely Coupled, Business Services as Assets) Application Silos with Components (Tightly Coupled and Limited Reuse) Service Oriented Architecture Monolithic Architecture (Tightly Coupled, Application Silos) Component Based Architecture Monolithic Architecture Time

  14. Service Oriented Architecture Next stage of integration Services (SOA) What’s Next? Business Process Management EAI Message Processing Remote Object Invocation Sub-routines & Remote Procedure Calls Monolithic Architectures 80’s - Mid 90’s Pre 50’s - 60’s 70’s - mid 80’s Mid 90’s to Early 00’s Today Future Late 90’s

  15. Why is Integration Important? • Investments made in “legacy” systems • Trillions of $ over the past 40 to 50 years • Remember Y2K? • Mainframe • Distributed Client-Server • Web • Application Packages such as ERP • Cost and Time to develop & deploy new business functionality • Rates from $30/hour (off-shore) to $300+/hour • A small 5 person year project (10,000 hours) can easily cost in excess of $2M and take a year to deliver

  16. Why is Integration Important? • Why develop a new system/business function when you already have it? • Is it “locked up” in a different technology? • The cost to maintain two of the same is not 2X but 3X .. Or more • SOA is a way to re-use the assets that most organizations already own • Break down the existing systems into components that can be combined in new ways • A flexible, standards-based integration method is needed

  17. Why is Integration Important? SOI EAI SOI integrates applications & platforms using service interactions & an ESB; is the least brittle for changes. EAI uses broker-specific adaptors which provide pre-built connectivity to a wide variety of applications & platforms; less brittle for changes than P2P. Custom Point-to-Point Integration uses technology aware bridges between application components; very brittle for changes.

  18. How do we achieve integration? • The Silo – monolithic architecture User Interface Business Logic Data Access Data

  19. How do we achieve integration? • Separation of Concerns User Interface Integration Layer Business Logic Integration Layer Data Access Integration Layer Data

  20. SOA Definitions - Viewpoints • a set of services that a business wants to expose to their customers and partners, or other portions of the organization • an architectural style which requires a service provider, requestor and a service description • a set of architectural principles, patterns and criteria which address characteristics such as modularity, encapsulation, loose coupling, separation of concerns, reuse, compose-ability and single implementation • a programming model complete with standards, tools and technologies such as Web Services

  21. AJAX Portlets WSRP B2B Other Service Consumer consumers business processes process choreography services atomic and composite QoS, Security, Management, and Monitoring Infrastructure Service Integration (Enterprise Service Bus Approach) Governance Data Architecture and Business Intelligence Service Provider service components Packaged Application Custom Application OO Application operational systems SOA Reference Architecture

  22. SOA's Standards Foundation • BPEL (Business Process Execution Language): a standard for assembling sets of discrete services into an end-to-end business process • J2EE 1.4: the current version of Java 2 Platform, Enterprise Edition, with APIs for deploying and managing Web services • JSR 168: standard for portal and portlet interoperability • JSR 181: an API for Web services metadata annotation • SOAP (Simple Object Access Protocol): a W3C-approved standard for exchanging information among applications • UDDI (Universal Description, Discovery, and Integration): an OASIS-approved standard specification for defining Web service registries • WS-I (Web Services Interoperability): an open industry organization promoting Web services interoperability across platforms, operating systems, and languages • WS-Reliability (Web Services Reliability): a SOAP-based protocol for exchanging SOAP messages, with delivery and message-ordering guarantees • WS-Security (Web Services Security): a SOAP-based protocol that addresses data integrity, confidentiality, and authentication in Web services • WSDL (Web Service Description Language): a W3C-approved standard for using XML to define Web services • WSIF (Web Services Invocation Framework): an open source standard for specifying, in WSDL, EJB implementations for the Web server • WSRP (Web Services for Remote Portlets): an OASIS standard for integrating remote Web services into portals • XML (Extensible Markup Language): a data markup language for Web services

  23. Conclusion • Architecture plays a role in Enterprise IT • EA is often used to align what IT does and plans to do with the business strategy • There are frameworks that help how to think about the problem • There are reference architectures to help how to create an approach • There are architectural patterns to help in thinking how to build and deploy solutions • There are architectural styles that can be applied in solution design

More Related