1 / 26

Introducción al Service-Oriented Computing

This article discusses the implementation of Service-Oriented Computing (SOC) for process modeling and implementation. It explores the need for a paradigm shift in the software industry and the benefits of separating software engineering from programming. The article also examines the actors involved in SOC, such as service providers, service brokers, and application builders. Furthermore, it provides examples of companies and industries that have adopted SOC. The article concludes with a case study on the development of an online bookstore system using SOC.

slusk
Download Presentation

Introducción al Service-Oriented Computing

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. Introducción al Service-Oriented Computing

  2. Implementación de Procesos Modelamiento de Procesos Implementación de Procesos ¿ Es necesario un cambio de paradigma ?

  3. Muchos Programadores, pocos Ingenieros de Software • La industria del software tiene problemas para llenar sus vacantes ! • El sistema educacional actual prepara muy buenos programados pero pocos buenos ingenieros de software • Hay que ser un buen programador antes de ser un buen ingeniero de software • El paradigma Service-oriented computing tiene como meta separar claramente ambas funciones

  4. SOA y SOC • La computación orientada a servicios (SOC) de paradigma se refiere al conjunto de conceptos, principios, y métodos que representan a la informática en el Service-Oriented Architecture (SOA) en la cual las aplicaciones se construyen sobre la base de componente de servicios independientes con interfaces estándar. • La idea principal del SOC / SOA es la ingeniería de software explícitamente separada de la programación, la hacer hincapié en la ingeniería de software, y para restarle importancia a la programación. SOC separa de desarrollo de software en tres partes independientes

  5. Los actores • Service providers: They use a traditional a programming language such as Java, C++, or C# to write program components. All components will be wrapped with open standard interfaces, call services, or Web services if the services are available over the internet, so that application builders can simply use the services without further communication with the service providers. The same services can be used by many applications. • Service brokers: Allow services to be registered and published for public access. Help application builders to find services they need. • Application builders: Instead of constructing software from scratch using basic programming language constructs, the application builders represent the end users to specify the application logic in a high-level specification language, using standard services as components. Application builders are software engineers who have a good understand of software architecture and the application domain.

  6. Quien usa SOA y SOC • Las grandes compañias de Software: BEA, IBM, Microsoft, Oracle, HP, SAP, Intel, Sisco, Sun Microsystems han migrado al pardigma SOC • Agencias Gubernamentales: Dpet. Defensa de USA, SIS Chile, NASA • Bancos: (Web Banking Services) comercio (web Shopping Services) aerolineas (Web Booking Services)… • http://www.sciencedaily.com/releases/2009/03/090331133535.htm • http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11752

  7. El caso de problema de desarrollo • La tarea de programación consiste en el desarrollo de un sistema online para una tienda de libros que toma órdenes de clientes, procesa esas órdenes y emite el cargo usando los servicios que ofrecen los bancos remotos. Si se logra realizar el cargo entonces el libro será pedido a la editorial respectiva y enviado al cliente.

  8. Esquema de solución SOC

  9. SOC Solution • It is very difficult to program such a system from scratch using C++ or Java. However, if all the components can be found in the service repository, the development task in SOC would be simple. What an application builder would have to do is (1) draw the model ; (2) provide a text file containing the data to be changed between the services, for example, the data behind the message "getOrder" must contain the client's name, address, credit card information; (3) define the logic and flow (for example, in the nod "processOrder", we need to define the order: first place the charge, wait for the result of the operation; if the charge is successful, accept the order, otherwise, reject the order).

  10. Usos de SOC • En Arizona State University se desarrollo el lenguaje PSML-S (Process Specification and Modeling Language for Services) que permite por drag and drop especificar la lógica de una aplicación que es automáticamente traducida a C#

  11. Elementos de un Modelo • Actor: An actor is a model element that represents a system or a component with clear boundary that interacts with other actors. An actor is implemented as a service agent that can reside locally or remotely. • Action: An action is a model element that represents an operational process to change internal status of an actor. • Attribute: An attribute is defined to provide security, safety, performance, timing or reliability information. An attribute can be associated with any model element. • Condition: A condition is a predicate on data elements used to determine the course of a process taken by actors. • Data: A data element is an information carrier that represents the internal status of an actor. • Event: An event is a model element that represents an observable occurrence with no time duration of input to an actor or output from an actor. • Relation: A relation is defined to provide relationship information between any model elements. There are different relations defined between any two model elements.

  12. Actores • Client: It is the interface between the end user and the system. It takes the end user’s order and sends the order to the actor: Bookstore. The order contains the book information to be ordered and the credit card information of the end user. • Bookstore: It is the main actor we focus on in this example. It sends charge message to the bank actor, which contains the credit card information and the amount of charge. Depends on the return message from the bank, the bookstore actor will either reject the order or ask the publisher actor to deliver the book. Once it receives the delivery confirmation from the publisher, it notifies the client. • Bank: It charges the credit. It returns the failure message if the charge fails, otherwise, it confirm the completion of charge. • Publisher: It receives the order from the bookstore and requests its shipper to deliver the book. Once the book is shipped, it returns the confirmation to the bookstore. • Parcel service: It receives the shipping request from the publisher, ships the book, and confirms the shipment.

  13. Condiciones y Datos Condition in the actor bookstore (in this example, we discuss the bookstore actor only). One condition is defined: ChargeFail, it is false if the bank confirms charge, otherwise, it is true. Data in bookstore actor: Data item from the client: (book detail, credit card detail, deliver address). Data to bank actor: (credit card detail, amount to charge); Data to publisher: (book detail, deliver address). Data to client: (rejection) or (confirmation).

  14. Programacion Visual con PSML-S

  15. Diferencias entre OOP y SOC

  16. Diferencias entre OOP y SOC

  17. Problemas con cambio de paradigma In Spring 2005, Dr. Tsai taught a class on SOC at ASU to a group of 35 senior/graduate students. In the first assignment, only 2 out of 15 work groups turned in an SOC design for a class project. The other 13 groups turned in an OO design in spite of their training on SOC in the class.

  18. Services • The service-oriented computing (SOC) paradigm uses services to support the development of rapid, low-cost, interoperable, evolvable, and massively distributed applications. • Services are autonomous, platform-independent entities that can be described, published, discovered, and loosely coupled in novel ways. • They perform functions that range from answering simple requests to executing sophisticatedbusinessprocesses requiring peer-to-peer relationships among multiple layers of service consumers and providers. • Any piece of code and any application component deployed on a system can be reused and transformed into a network-available service.

  19. SOC y Web Services • Services reflect a “service-oriented” approach to programming that is based on the idea of composing applications by discovering and invoking network-available services to accomplish some task. • This approach is independent of specific programming languages or operating systems.

  20. Web Services • Web services are currently the most promising SOC based technology • They use the Internet as the communication medium and open Internet-based standards including • Simple Object Access Protocol (SOAP) for transmitting data, • Web Services Description Language (WSDL) for defining services, • Business Process Execution Language for Web Services (BPEL4WS) for orchestrating services. • SOC lets developers dynamically grow application portfolios more quickly than ever before (?!!!) by • creating compound solutions that use internal organizational software assets, including enterprise informationand legacy systems, and • combining these solutions with external components possibly residing in remote networks.

  21. SOC research road map

  22. The Service Fundation • The service foundations plane consists of a service oriented middleware backbone that realizes the runtime SOA infrastructure. This infrastructure connects heterogeneous components and systems and provides multiple- channel access to services over the networks. It lets application developers define basic service functionality in terms of the description, publishing, finding, and binding of services. • In a typical service-based scenario, a provider hosts a network-accessible software module—an implementation of a given service—and defines a service description through which a service is published and made discoverable. • A client discovers a service and retrieves the service description directly from the service, possibly through metadata exchange or from a registry or repository such as UDDI. The client uses the service description to bind to the provider and invoke the service. • Service provider and client roles are logical constructs, and a service can exhibit characteristics of both. Service aggregators group services provided by other providers into a distinct value-added service and can themselves act as providers.

  23. Service Composition • The service composition plane encompasses roles and functionality for aggregating multiple services into a single composite service. • Resulting composite services can be used as basic services in further service compositions or offered as complete applications and solutions to service clients. • Service aggregators accomplish this task and thus become service providers by publishing the service descriptions of the composite service they create. The aggregators also enforce policies on aggregate service invocations.

  24. Management and Monitoring • When composing services, developers must be able to assess the health of systems that implement Web services as well as the status and behavior patterns of loosely coupled applications. • Service management spans a range of activities, from installation and configuration to collecting metrics and tuning, to ensure responsive service execution. It typically involves gathering information about the managed-service platform, services and business processes, and managed-resource status and performance via root-cause failure analysis, SLA monitoring and reporting, service deployment, and life-cycle management and capacity planning. • Service monitoring involves monitoring events or information produced by the services and processes; monitoring instances of business processes; viewing process-instance statistics, including the number of instances in each state (running, suspended, aborted, or completed); viewing the status, or a summary, of selected process instances; and suspending, resuming, or terminating selected process instances.

  25. Discusión ¿ Es necesario un cambio de paradigma de programación?

More Related