2. Motivation The architectural properties of a system of systems depends critically on how the systems are wired together. Architects have a critical role in designing robust, flexible and efficient boundaries and interfaces and working space between sociotechnical systems and organizations. Architects should help to eliminate negative and unproductive space between systems. On the other hand, architects should help to realise positive space between automated systems – space in which people and organizations can engage positively with business and social requirements.
3. What is an interface? Affordance Ability to play same tune using multiple instruments. Extensions Electrical instruments have an additional precondition (switched on) Exceptions Cheap instruments have limited response (one note at a time). Example: Keyboard An abstract structure enabling many different musicians to communicate with many different instruments. The output from the musician’s fingers becomes the input to the instrument.
4. Decoupling applications and technology through services Lawrence Wilkes & Richard Veryard Microsoft Architecture Journal, April 2004
13. Interface diversityLegacy Apps Packaged Apps New Components 3rd Party Services Enterprise Service Bus or Business Service Server Source: CBDI Forum
14. SOUP SOAPY SOUP SOUPY SOAP SOAP Legacy systems Legacy systems with some service interfaces Service-based architecture with some outstanding legacy areas. Fully compliant service-based architecture. Progressive Decoupling of Legacy Systems Source: CBDI Forum
16. Screen Scraper Intended use of legacy … … but intercepted Customer Details Customer Details API Legacy Software Legacy Software
17. ETL = Extract, Transform and Load Legacy Conversion Data Warehousing OLD OLTP extract extract Meta Data ETL ETL transform transform NEW DW load load
18. Technology1 OrganizationA Service Technology2 Service Organizational Boundary Technology Boundary OrganizationC OrganizationB Service Application Boundary ApplicationI ApplicationII Service = Points of Flexibility Source: CBDI Forum
19. Articulation Points identify the best places to insert an interface Lawrence Wilkes & Richard Veryard Microsoft Architecture Journal, April 2004
21. What is a good interface? For Service Consumer Weaker Preconditions Stronger Postconditions More Generalized Model For Service Provider Stronger Preconditions? Weaker Postconditions? For Higher Reuse
22. Generalization Weaker Data Model Broad inclusive types Broad time horizon Weakly constrained relationships optional many transferable Stronger Data Model Narrow exclusive types Narrow time horizon Strongly constrained relationships mandatory one fixed
25. References Joshua Bloch, How to design a good API and why it matters (December 2005) AsifHussain, Building E-Business Suite Interfaces using BPEL (Innowave Technology) James Taylor, Managing Integration with eBusiness Suite using Oracle BPEL (Hewlett Packard) Richard Veryard, Component-Based Business: Plug and Play (Springer 2001) Richard Veryard, Component-Based Service Engineering (CBDI Journal, November 2003) Lawrence Wilkes, SOA – Save Our Assets (CBDI Journal, November 2003) Lawrence Wilkes & Richard Veryard , Service-Oriented Architecture: Considerations for Agile Systems (Microsoft Architecture Journal 2, April 2004)
26. If you were intrigued by this presentation … … read my architecture blog RVsoapbox.BlogSpot.com … and follow me on Twitter twitter.com/richardveryard … and follow Lawrence on Twitter for good measure twitter.com/lawrencewilkes
Notas do Editor
A musical keyboard provides an interesting example of a standard interface. When I press a particular sequence of keys, I expect an instrument to respond with a particular sequence of notes. Many different instruments provide the same interface: pianos, harpsichords, organs and synthesizers. Some music software has a virtual implementation of the same interface: it provides a visual display of the same pattern of keys, but these keys are pressed with mouse clicks rather than directly with the fingers. But there are also important differences between the various implementations of this interface. Some instruments are powered by electricity. This means that a complete specification of the interface includes the precondition <instrument is switched on>. On a piano, the keys also control the volume and duration of the note. On an organ, the keys control the duration of the note but the volume is controlled elsewhere. On a harpsichord or a toy piano, you get the same short note however long you hold down the key. On some toy pianos, you only get one note at a time however many keys you press. Thus the piano interface satisfies one specification that is common to other keyboard instruments, but it also satisfies another specification that is unique to pianos. This simple example demonstrates that there is an important difference between the interface and the specification of the interface.