2131c845ef66e927d8b9fae67d9fb70d.ppt
- Количество слайдов: 34
The EMBRACE Technology Recommendation Web Services Interoperability Through Standardisation
Why Use Web Services In The First Place? ü Interoperability
Service Oriented Architecture (SOA) • Functionality is most commonly expressed as services. • Each service provides one clearly defined basic functionality. • Higher level functionality is achieved using service composition.
Web Services Interoperability organisation • Initial Web Service specifications were quite flexible – Many different ways to make Web Services – Hard to make tools that could be used for all types of services • Web Services Interoperability organisation was founded to establish more restrictive specifications – Similar services – Outdated tools
The Evolution Of Web Services
SOA Is Becoming Boring § Has become part of the software industry ü SAP ü Oracle ü IBM ü Microsoft
SOA Is A Part Of Society § Applications in Norway: ü All parts of government ü Police ü Major hospitals ü Companies
The Technology Recommendation: An EMBRACE of WS-I • WS-I is ready (ish) to use • Many tools and supporting technologies available • Competence is available
A closer look at Web Services <Warning> XML </Warning>
Usage scenario WSDL File Client Web service
Client reads the WSDL file WSDL File Client Web service
Client sends request WSDL File Client Web service
Client receives the response WSDL File Client Web service
Extensible Markup Language • A way of structuring information • Use Elements and attributes <Element>. . . </Element> <Element attribute=". . . " ></Element>
XML Schema Class Object Person First Name Last Name Age John Doe 40 Schema <element name=“Person"> <complex. Type> <sequence> <element name="firstname" type="string"/> <element name="lastname" type="string"/> <element name="age" type="int"/> </sequence> </complex. Type> </element> Instance <person> <firstname>John</firstname> <lastname>Doe</lastname> <age>40</age> </person>
XML Binding Representing the information in an XML document as an object in computer memory <person> <firstname>John</firstname> <lastname>Doe</lastname> <age>40</age> </person> Person John Doe 40
Namespaces • Avoids naming conflicts • We can use prefixes for shorter notation <Parent. Element xmlns: ns 1="http: //mysite. com/NS 1"> <ns 1: Element>. . . </ns 1: Element> </Parent. Element>
SOAP –The protocol formerly known as “Simple Object Access Protocol” The SOAP Envelope for messages Processing Protocol model for how to deal with the messages binding framework
SOAP Message <Envelope> <Header> </Header> <Body> </Envelope> Or just: <Envelope> <Body> </Envelope>
Web Service Description Language –Provides an abstract definition of a Web Service and a binding which ties it to a concrete endpoint. –Is completely independent of the Web Service it describes.
WSDL file <definitions> <types> XML Schema definitions of data formats <message> Definition of messages for input and output of the operations in this service. <port. Type> Definition of the operations available at this service. <binding> The binding of the operations to a set of protocols. SOAP over HTTP is most commonly used <service> Name and network address of this service </definitions>
Schema part of a WSDL . . . . <xs: element name="get. Matrix. By. Id"> <xs: complex. Type> <xs: sequence> <xs: element name="Id" type="xs: string"/> <xs: element ref="Format"/> <xs: element ref="Database"/> </xs: sequence> </xs: complex. Type> </xs: element>. . . .
Corresponding SOAP message <soapenv: Envelope xmlns: soapenv="http: //schemas. xmlsoap. org/soap/envelope/" xmlns: jas="http: //bccs. uib. no/Jaspar"> <soapenv: Header/> <soapenv: Body> <jas: get. Matrix. By. Id> <jas: Id>MA 0003</jas: Id> <jas: Format>PFM</jas: Format> <jas: Database>CORE</jas: Database> </jas: get. Matrix. By. Id> </soapenv: Body> </soapenv: Envelope>
Sample Perl Client my $wsdl = XML: : Lib. XML->new->parse_file('http: //api. bioinfo. no/wsdl/Jaspar. DB. wsdl'); my $proxy = XML: : Compile: : WSDL 11 ->new($wsdl); my $get. Matrix. By. Id = $proxy->compile. Client('get. Matrix. By. Id'); my $answer = $get. Matrix. By. Id->( Id => $get_by_id, Format => $format, Database => $db ); my $matrix = $answer->{parameters}{Matrix}; _print_matrix($matrix);
e. Vita Project • Norwegian research council e. Science program • Has funded a 2. 3 me project to build a SOA to support systems biology research at BCCS. • Built with WS-I Web Services • Partners in UK – My. Grid – Manchester Interdisciplinary Biocentre
Eu. TRACC The European Transcriptome, Regulome & Cellular Commitment Consortium • Aims to identify TFs and interacting partners expressed in neuronal and haematopoietic cell types. • European No. E • Primarily partners with biological competence • Lenhard group responsible for analysis
Eu. TRACC tasks • Integrative analysis of proteomics, gene expression, chip-chip and chip-seq data • Determine the principal regulatory network components • Build supporting infrastructure – Performed by the e. Vita project
IRC The International Regulome Consortium – The discovery of how gene function is regulated in mammalian cells during development – Collaborates closely with Eu. TRACC – Will use same/simmilar infrastructure
Jaspar Database • Database of profiles of transcription factor binding sites • Prediction of over-represented TFBS i sets of genes • Statistical analysis
Steps forward in EMBRACE • Define common data types • Links to ontologies
Acknowledgements Vincent Breton Jean Salzemann CNRS /Clermont-Ferrand All other members of the Technology Recommendation and Watch WP Steve Pettifer UMAN Inge Jonassen Pål Puntervoll Rein Aasland BCCS Toby Gibson EMBL
2131c845ef66e927d8b9fae67d9fb70d.ppt