B2B ja SOA. Kehittämismenetelmät ja arkkitehtuurit liiketoiminnassa, TJTSE54 kevät Ville Seppänen

Samankaltaiset tiedostot
BPEL4WS Business Process Execution Language for Web Services. ITK E54 kevät 2005 Ville Seppänen

7.4 Variability management

HOJ J2EE & EJB & SOAP &...

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

in condition monitoring

HSMT J2EE & EJB & SOAP &...

7. Product-line architectures

C++11 seminaari, kevät Johannes Koskinen

SOA SIG SOA Tuotetoimittajan näkökulma

Tavoitteena yhdistää eri tavoin toteutetut ja eri tavoin toimivat järjestelmät; integration & interoperability.

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

ALUEARKKITEHTUURI WEB PALVELUITA KÄYTTÄEN. Niilo Saranummi VTT Tietotekniikka

.NET 2006 ja sen jälkeen

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Älykkäämmät integraatiot palveluväylän avulla

Efficiency change over time

Järjestelmäarkkitehtuuri (TK081702) SOA, Service-oriented architecture SOA,

Sovellusarkkitehtuurit

Integrointi. Ohjelmistotekniikka kevät 2003

Results on the new polydrug use questions in the Finnish TDI data

Service Oriented Architecture!

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Web Service torilla tavataan!

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Other approaches to restrict multipliers

Capacity Utilization

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Tiedonsiirto- ja rajapintastandardit

Tietojärjestelmäarkkitehtuurit

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

Portaaliteknologiat mahdollistavat ajattelutavan muutoksen

Olet vastuussa osaamisestasi

Järjestelmäarkkitehtuuri (TK081702)

Windows Phone. Module Descriptions. Opiframe Oy puh Espoo

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

Konesali ilman rajoja Kongressi A

Security server v6 installation requirements

Hankkeen toiminnot työsuunnitelman laatiminen

Arkkitehtuurisuunnittelun haasteet: tänään SOA ja Web Services, mitä huomenna?

Liiketoimintajärjestelmien integrointi

Collaborative & Co-Creative Design in the Semogen -projects

ETELÄESPLANADI HELSINKI

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

The CCR Model and Production Correspondence

KAOS 2015: Integraatioiden standardointi suunnittelumallien avulla. Ilkka Pirttimaa, Chief ICT Architect, Stockmann ICT

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Ajankohtaisia SOA tutkimusteemoja

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

LUONNOS RT EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May (10)

Rakentamisen 3D-mallit hyötykäyttöön

Visma Software Oy

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

The OWL-S are not what they seem

2 Description of Software Architectures

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Security server v6 installation requirements

Tutkimusdata ja julkaiseminen Suomen Akatemian ja EU:n H2020 projekteissa

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

IBM Iptorin pilven reunalla

Liiketoimintajärjestelmien integrointi

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Datahub-projekti. Prosessityöryhmä

Power BI Tech Conference Power BI. #TechConfFI. Johdanto

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

EUROOPAN PARLAMENTTI

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

API:Hack Tournee 2014

Salasanan vaihto uuteen / How to change password

Microsoft Lync 2010 Attendee

Group 2 - Dentego PTH Korvake. Peer Testing Report

Semanttiset web-palvelut AS Syksy Eetu Mäkelä, Tuukka Ruotsalo

KODAK EIM & RIM VIParchive Ratkaisut

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Perinteisesti käytettävät tiedon (datan) tyypit

Rekisteröiminen - FAQ

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Visma Nova Webservice Versio 1.1 /

papinet -sanomastandardit

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

Sakari Olli Tieturi OY. SOA - ajattelutapa vai teknologia

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

4x4cup Rastikuvien tulkinta

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Osavuosikatsaus JUKKA RINNEVAARA CEO

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

Toimilohkojen turvallisuus tulevaisuudessa

Teknologiateollisuus ry Ympäristöosaaminen arvoketjussa -seminaari Työkaluja arvoketjun ympäristöosaamisen kehittämiseen

Copernicus, Sentinels, Finland. Erja Ämmälahti Tekes,

Liikenteen hankeaihioita

IHE XDS.b - Kuinka Se Toimii Käytännössä?

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

A Service-Oriented Architecture (SOA) View of IHE Profiles

SOA:lle on useita, jonkin verran toisistaan poikkeavia määritelmiä. Alla niistä muutamia.

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Transkriptio:

B2B ja SOA Kehittämismenetelmät ja arkkitehtuurit liiketoiminnassa, TJTSE54 kevät 2007 Ville Seppänen <rissepp@jyu.fi>

SOAP-verkkopalvelu WSDL Definition: A Web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols. A B Client app Server app A. Publish B. Search/subscribe

WSDLrajapinta

WSDLrajapinta jatkuu

Palvelu SOAP pyyntö ja vastaus

Overheadista 'Human-readable' * SOAP/XML-RPC -viestit n. 14 kertaa suurempia kuin CORBAn binääriviestit 5 000 kokonaisluvun siirron kesto SOAP:lla 882 kertainen verrattuna CORBA:an * python socket (IBM: The Python Web services developer: Messaging technologies compared)

SOA ja WS-tekniikat UDDI SOAP SOAP WSDL SOAP

Ei mitään uutta, mutta... Avoin, alusta- ja kieliriippumaton Toimii käytännössä kaikilla laitealustoilla WS/SOAP-toteutus löytyy lähes jokaiselle ohjelmointikielelle Siirrettävissä (tosin valmistajakohtaisia laajennuksia standardeihin on alkanut näkyä...) Pienentää vendor lock-inin vaaraa Tekniikka ei määrää palvelun granulariteettia Yksinkertaisesta sovellustoiminnallisuudesta, SQLkyselystä tmv. pitkäkestoisiin ja hajautettuihin liiketoimintaprosesseihin Vrt. XML-RPC (procedure), RMI (method), CORBA/ORB (object), MS DCOM (component)

B2B-integrointi Datan, sovellusten, prosessien saattaminen liiketoimintakumppanien saataville (halutussa määrin) Tavoitteena kustannustehokkaampi, tehokkaampi ja joustavampi toiminta Stadco.co.uk approach to supply chain management

Edellyttää yhteentoimivuutta Levels of heterogeneity Syntactic: machine-readable aspects of data representation Structural: representational differences involving data modeling constructs and schemas System/Platform: differences in system-level aspects (e.g., OS, communications) Semantic: different meanings, propositions, signification etc. of the terms used in exchange

Vertical Non-Standard Business Semantics Security, Routing Workflow, Transaction Management WSDL, UDDI SOAP, XML-RPC XML, XML Schema HTTP, FTP, SMTP Internet, Intranet, Extranet Kaye 2003 Horizontal Non-Standard Horizontal Standard

Työllä tai sopivilla välineillä (ja työllä) WS-tekniikat piilottavat heterogeenisuuden tasoista syntaksi-, rakenne- ja järjestelmätasot ovat melko hyvin Business semantics ebxml, Rosettanet, BPEL, Semantic Web (services),...? Tekniikat Ne on horisontaaleja; Toteutukset Ne on vertikaaleja SOA:n keskeisen ajatuksen löyhäkytkentäisyyden (loose coupling) ja liiketoiminnan semanttisten vaatimusten yhdistäminen Se on hankalaa Pyramidin alemmat tasot Ne eivät juurikaan tuota ongelmia Joskaan esim. verkkopalvelujen tietoturva ja transaktiotuen taso Se ei välttämättä vielä tyydytä kaikkien vaativimpia ja kriittisimpiä tarpeita

Coupling & Dependency Level of common knowledge necessary between provider and consumer W3C glossary: Coupling is the dependency between interacting systems. This dependency can be decomposed into real dependency and artificial dependency Real dependency is the set of features or services that a system consumes from other systems. The real dependency always exists and cannot be reduced. Artificial dependency is the set of factors that a system has to comply with in order to consume the features or services provided by other systems. Typical artificial dependency factors are language dependency, platform dependency, API dependency, etc. Artificial dependency always exists, but it or its cost can be reduced.

Tight coupling The programmer of one participant (say, the consumer, or client) must have detailed knowledge about the behavior, such as the method calls, messaging protocol, synchronous behavior, or message semantics, of the other participant (in this case, the provider, or server) in order to successfully complete the required interaction between the two pieces of software J. Bloomberg Ei ainoastaan huono asia: semanttiseen heterogeenisuuteen liittyvät asiat tulevat suuremmalla todennäköisyydellä noteeratuiksi

Loose coupling Loosely coupled the two participants may have specific, but more limited knowledge about each other. Such information appears in a Service contract, which is a document external to each participant that provides the information each participant needs to interact with the other Tavoitteena vähentää artificial dependency minimiin

Loose coupling Loosely coupled services, even if they use incompatible system technologies, can be joined together on demand to create composite services, or disassembled just as easily into their functional components. Participants must establish a shared semantic framework to ensure messages retain a consistent meaning across participating services. (looselycoupled.com) Helpommin sanottu kuin tehty?

Integroinnin tasoja: dataintegraatio Useissa eri lähteissä sijaitsevan ja usein heterogeenisen datan yhdistämistä ETL: extract, transform, load Heterogeenisuus: erilaiset skeemat, erilaiset koodaukset, merkitykset jne. Usein eräajoluontoista; soveltuu heikosti käytettäväksi usein muuttuvan datan kanssa Yleinen skeema Transform kohdistetaan kyselyihin

Dataintegrointi Kuvat: wikipedia.org/wiki/data_integration

Dataintegrointi ja SOA Rajapinnat kuten ODBC ja JDBC tarjoavat pääsyn dataan esim. asiakas-palvelin -ympäristöissä SOA-tekniikoita voidaan käyttää samaan tapaan ja tarjota datalähde ulospäin palveluna, SOAP-API joka vastaanottaa SQL-lauseita Dataan pääsyä saatetaan haluta rajoittaa Tiukkakytkentäinen ratkaisu: skeeman muuttuminen vaikuttaa asiakassovelluksiin Vaihtoehtoisesti palveluna julkaistaan tarvittavat kyselyt eikä suoraa datayhteyttä Skeemamuutokset haijastuvat ainoastaan kyselyn suorittamisesta vastaaviin palveluihin

Sovellusintegraatio Tavoitteena erillisten sovellusten välinen kommunikointi tai yhteentoimiminen Pääasiassa datan ja komentojen muuntamista epäyhteensopivien sovellusten välillä EAI esim.

Sovellusintegraatio Implementing application integration has traditionally been done by tedious programming, or occasionally one package might support the interfaces of one or two other packages. However, the trend today is to use message brokers, applications servers and other specialized integration products that provide a common connecting point.

Shrinking common technology subset Traditional 'subtractive' approach to integrating systems: finding the common subset of technologies between the systems, starting with a physical connection between the systems. That subset is the basis for the integration, and additional layers of technology are built on top of it. (Kaye 2003) Two Windows DCOM apps J2EE & DCOM apps J2EE, DCOM & Yet Another Application

Sovellusintegraatio ja SOA? It would be a violation of loose-coupling principles to base the interface on any common-subset assumption. (Kaye 2003)...key to loosely coupling heterogeneous technologies is to standardize the interfaces and not the source code. (ibid) Application A Application B Standardized Web-services interface Application C

Sovellusintegraatio ja SOA? No one should confuse the ease of using Web services interfaces with the difficulty of making Web services a reality. www.iwaysoftware.com

Sovellusintegraatio ja SOA? Standardi API ei siis ole ihmeratkaisu tai hopealuoti Middleware uudella tekniikalla?

Prosessi-integraatio 3. Palvelutaso Prosessitaso 2. Palvelutaso Sovellustaso 1. Palvelutaso Datataso

IT- ja liiketoimintastrategiat Palveluja ei sovelluksia Palveluja määriteltäessä tavoitteena muodostaa kokonaisuuksia jotka vastaavat liiketoiminnalle luontevia käsitteitä esim. 1. taso: Hae asiakkaan tiedot 2. taso: Laskuta asiakasta 3. taso: Käsittele tilaus Hyvä palvelu abstrahoi järjestelmätason toiminnan liiketoiminnan kannalta tarpeellisiksi kokonaisuuksiksi tai mustiksi laatikoiksi Riittää, että tiedetään mitä laatikko tekee; ei ole tarpeen tietää, miten se sen tekee

IT- ja liiketoimintastrategiat SOA lupaa tuoda IT- ja liiketoimintastrategioita lähemmäksi toisiaan tai jopa yhdistää ne Perinteinen alignment-malli: Kritisoitu siitä, että ei huomioi nopeasti muuttuvan ympäristön asettamia paineita Ihannetilassa SOA mahdollistaa liiketoimintaprosessien muodostamisen, purkamisen ja muokkaamisen nopealla ja kustannustehokkaalla tavalla

BPEL4WS Orchestration: describes how web services can interact with each other at the message level, including business logic and execution order of the transactions These interactions may span applications and/or organizations, and Result in long-lived, transactional, multi-step processes Refers to an executable business process that may interact with both internal and external web services The process is always controlled from the perspective of one of the business parties

BPEL4WS Business Process Execution Language for Web Services on mm. IBM:n, Microsoftin ja BEA:n tukema ehdotus, joka määrittelee verkkopalvelujen toiminnan liiketoimintaprosessien integroinnissa BPEL-prosessi on verkkopalvelu, joka koostuu verkkopalveluista (composite service/appl) XML-sanasto, joka kuvaa prosessikulun kontrollointilogiikan Prosessikuvaukset tulkitsee ja suorittaa prosessimoottori

BPEL4WS Inside-Out Prosessi kuvataan yhden osapuolen (omistajan) näkökulmasta Prosessit kytkeytyvät verkkopalveluihin WSDLrajapintojen kautta WSDL määrittelee prosessin operaatiot (esim. CheckCreditCard) BPEL määrittelee kuin operaatioiden suorittaminen jaksotetaan (esim. IF maksutapa = luottokortti THEN CheckCreditCard ELSE...)

BPEL4WS Prosessit julkaistaan verkkopalveluina niiden omien WSDL-rajapintojen kautta WSDL kuvaa prosessin julkiset aloitus- ja päätepisteet (entry ja exit points) Prosessit käyttävät WSDL:ssä määriteltyjä tietotyyppejä prosessiin kuuluvien kutsujen sisällä

BPEL4WS Määrittely erottaa perus- ja rakenteiset toiminnallisuudet (basic ja structured activities) Perustoiminnallisuudet mahdollistavat vuorovaikutuksen prosessin osapuolten välillä (mm. receive, reply, invoke) Rakenteelliset toiminnallisuudet määrittelevät prosessin kokonaiskulun; ts. Mitä perustoiminnallisuuksia suoritetaan, miten ja missä järjestyksessä Poikkeustenhallinta ja transaktio-ominaisuudet rakennettu WS-Coordination and WSTransaction -määritysten päälle

BPEL4WS Saman voi tietysti toteuttaa millä tahansa ohjelmointikielellä, joka tarjoaa tarvittavat kontrollirakenteet, poikkeusten käsittelyn, tuen asynkroniselle kommunikoinnille jne. ja jolla voidaan tehdä HTTP:n yli kutsuttavia sovelluksia Mutta BPEL, kuten muutkin nykyisistä SOAtekniikoista, on alusta- ja kieliriippumaton BPEL-prosessi on XML-dokumentti, joka on suoritettavissa minkä tahansa valmistajan BPEL-moottorilla (=> BPEL v.2)

BPEL4WS Eli jos epästandardien sovellusten toiminnallisuus tarjotataan palveluina avoimen ja standardin rajapinnan kautta (WSDL/SOAP), täytyy myös orkesterointimekanismin olla sellainen Edellinen ei tarkoita sitä, että mekanismin pitäisi olla BPEL; riittää että on se avoin ja standardi