Good to have you back!
If you've signed in to StudyBlue with Facebook in the past, please do that again.
Computer Information Technology
Computer Information Technology 499 ssa
Computer Information Technology 499 ssa
† The material on this site is created by StudyBlue users. StudyBlue is not affiliated with, sponsored by or endorsed by the academic institution or instructor.
Get started today
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
CIT 499 Applied System & Software Architectures Service Oriented Architectures (SOA) and Web Services © 2010 by Jeffrey L. Whitten. All rights reserved. This file may not be copied, duplicated, or retransmitted without the author?s written permission. Hot Style! Middleware: Application Servers Other useful EAI styles Web Services and SOA OPERATING SYSTEM APPLICATION SOFTWARE Problem Statement Between organizations, and even within organizations, applications are built over time with different, incompatible technologies Note that this is a major driver for the entire field of systems and software architecture Most integration technologies are closed or proprietary (e.g. message brokers) Wouldn?t it be nice if we had a simpler, standard, non-proprietary way to integrate widely disparate applications for a world that is increasingly web-based and uses multiple implementation platforms, databases, and programming languages. Enter ?Service Oriented Architectures? based on ?Web Services? History Historical attempts to integrate systems based on different technologies Paper and data entry, followed by more paper and data entry ? ad infinitum EDI = Electronic Data Interchange Based on ?cooperative? standards to define common data formats for electronically exchanging data ? often developed very slowly Still relatively closed and costly to develop and maintain the standards themselves Internet opened entirely new possibilities for integration because it connects virtually every computer in the world into one gigantic network SOA opened the door for universal integration services based on open standards Today Today?s business climate is characterized by Globalization of business (thanks to the Internet) Partnership, sometimes even between competitors Customer expectations of interoperability and transparency Anytime Anywhere Any way Middleware has always been about integrating across different platforms SOA not only integrates across multiple platforms, but does it between platforms controlled by different organizations and physical locations Makes it useful to partner with other companies E-Commerce as an Example ?? Customers see a single seamless application that that lets them place orders for books and music [JLW: and today, much more] and make payments. In reality this application consists of just a core of business logic provided by the retailer [JLW: such as Amazon] augmented by [executable] services provided by [numerous] business partners, and all running on a diverse mix of platforms and middleware. Customers [and users] can access all this application [functionality] using the Web or they can run friendlier and smarter client applications that make calls directly to back-end services provided by the retailer?s core application. These same services can also be used to support out-sourced order fulfillment services provided to specialized retailers, letting them own and operate their own on-line shops ? Services Oriented Architecture Amazon Web Server On-line Retail AppSrv Reseller Supplier 1 (.NET) Merchant 2 (Linux + EJB) Supplier 2 (Linux + EJB) User Authentication Service (.NET) Bank (MVS + CICS) Credit Card Processor (Win + COM+) Shipper 1 (Solaris + CORBA) Shipper 2 (VMS) Smart Client Browser Client Bank (Tandem) SOA Basic Principles Explicit boundaries Services are independent applications (as opposed to code that must be bound into your application) You build your new application by writing some of your own code, PLUS executing other code (services) remotely over a network, usually the Internet Autonomous services Services are independent applications Services don?t need to know anything about the applications that will use them ? today or in the future Services should be able to accept messages from anywhere, so long as the sender is allowed and message is correctly formatted Shared schemas and contracts (but not implementations) Services are just applications that receive and send messages ? in other words, little or no business logic All an application needs to know about a service is its ?contract? Policy-based service compatibility Services must provide rules for data exchange formats Services must provide their own security SOA uses Web Services Web services are a set of integration standards that were designed to meet the requirements of service oriented architectures Not that different from earlier middleware technologies except focus is on simplicity and interoperability across many more platforms Most important feature is that all major software vendors have agreed to support these standards Meaning, you don?t ?buy? web services They are built into software development tools (ADE) from the vendors (next slide) XML-based standards include SOAP Used a a standard communications protocol for the messages Universal Description, Discovery, and Integration (UDDI) directory Used to describe a service to the outside world so it can be discovered and invoked Web Services Description Language (WSDL) Used to define data exchange formats WS-* A variety of standards used to describe ?policies? for a service contract. Examples include: WS-SecurityPolicy WS-Transaction Several others Web Service Web Service An XML-based SOAP message that describes What am I? (UDDI) How to use me? (WDDI) Rules for using me (WS*) Rules for using me (WS*) Rules for using me? (WS*) MY APPLICATION A SOA Application My Custom Code (on my platform of choice) Somebody Else?s Code (on their platform of choice) Somebody Else?s Code (on their platform of choice) Somebody Else?s Code (on their platform of choice) Web Service Web Service Web Service Application Development Environment A workbench for the programmer that includes editors, test tools, code libraries, and programming languages IBM WebSphere (multiple language options) Microsoft Visual Studio (multiple language options) Most modern ADEs provide developers with code libraries to: Find suitable web services Learn what each web service does Ask a web service (via a message) to do something Make use of web services to enforce security and other policies Unrelated to SOA, but modern ADEs also provide developers other code libraries to integrate applications using middleware like: COM+ J2EE CORBA MOM, P-S, and MB Security Most middleware products do not work well in the open Internet because of connectivity barriers, like firewalls Even if they did, the level of interoperability described in this lesson?s examples raises all kinds of security red flags because I am allowing programs outside of my company to enter into my enterprise applications for the purpose of execution SOA works by using standard HTTP protocols to pass right through firewalls That was OK when all you were doing was accessing web pages ? ? but now with webs services, you can make direct calls to someone else?s software after getting through that firewall ? those calls could do some serious bad things like steal data, maliciously modify data, etc. WS-Security standards address this concern by providing rules in the WS contract strong cryptographic (scrambling) mechanisms to identify callers (through digital signatures) Rules for what can and cannot be done Web Services for Business Applications Trend will be to factor various services out of existing commercial business applications and turn them into web services (e.g., Microsoft Office Live) Exposes those services over the network to permit programmers to integrate those services into third party and home grown applications Creates a revenue opportunity for the services Examples Future versions of ERP software like SAP (SAP?s SOA strategy is called NetWeaver) Web services will not render traditional middleware obsolete in the near future Web services allow systems from different companies to interoperate. This introduces huge opportunities for partnership and efficiency. Web services allow systems built with different platforms and middleware to interoperate without the huge cost of complete redesign of the legacy application
Want to see the other 14 page(s) in Lesson9ServiceOrientedArchitecture.pptx?
JOIN TODAY FOR FREE!
Words From the Students
"The semester I found StudyBlue, I went from a 2.8 to a 3.8, and graduated with honors!"
Colorado School of Mines
Get started today
Show & Tell
StudyBlue is not sponsored or endorsed by any college, university, or instructor.
© 2014 StudyBlue Inc. All rights reserved.