110 likes | 243 Vues
Designing and Deploying an SCA system architecture using DeployWare (FDF) Online Store Demo. SCOrWare Project Review – Paris, January 25, 2008. Damien Fournier, Philippe Merle INRIA ADAM team / SCOrWare Project. SCA and System architecture definition.
E N D
Designing and Deploying an SCA system architecture using DeployWare (FDF)Online Store Demo SCOrWare Project Review – Paris, January 25, 2008 Damien Fournier, Philippe Merle INRIA ADAM team / SCOrWare Project
SCA and System architecture definition • Service Component Architecture specification : • Component model. • Components can be implemented in different programming languages and accessed through several communication protocols. • Focus on software architecture. • An SCA application is specific to a system architecture.(implied by bindings) • How to define the system architecture for an SCA application ?
System architecture using DeployWare • DeployWare • Framework for deployment of any kind of software on distributed and heterogeneous systems. • Provide language to describe system architecture • Provide software personalities. • Extensible. • Extend DeployWare in order to allow deployment of SCA systems
SCA using DeployWare • SCA personalities in DeployWare allow : • To specify hosts when deploying SCA runtimes • To specify runtimes when deploying SCA applications • To configure SCA applications bindings and properties during deployment
The Store exampleinspired by Tuscany • A sample CD store, using a Web server, an application server and a database Application Platform Network
The Store exampleinspired by Tuscany • Define hosts configuration host1 = INTERNET.HOST { hostname = INTERNET.HOSTNAME(host1); user = INTERNET.USER(login,[password],[privateKey]); transfer = TRANSFER.JSCP; protocol = PROTOCOL.OpenSSH; shell = SHELL.SH; software { java = JAVA.JRE { archive = JAVA.ARCHIVE(Archive_File_URI); home = JAVA.HOME(Java_Home_URI); } }}
The Store exampleinspired by Tuscany • Define platforms tuscany-sca-host2 = TUSCANY.RUNTIME { archive = TUSCANY.ARCHIVE(Archive_File_URI); home = TUSCANY.HOME(Tuscany_Home_URI); host = Hosts/host2; } tomcat-host1 = TOMCAT.SERVER { archive = TOMCAT.ARCHIVE(Archive_File_URI); home = TOMCAT.HOME(Tomcat_Home_URI); host = Hosts/host1; properties { http-port = HTTP.PORT(Tomcat_Server_Port); http-user = HTTP.USER(Tomcat_User_Name); http-password = HTTP.PASSWORD(Tomcat_User_Password); }}
The Store exampleinspired by Tuscany • Define Applications store-converter = TUSCANY.PACKAGE(launch.Launch,demo-store-converter) { runtime = /tuscany-sca-lowrider; archive = TUSCANY.ARCHIVE(/Archives/demo-store-converter.jar); sca-setting { service-converter = SCA.SERVICE(CurrencyConverter) { wsdl = SCA.BINDING.WSDL(http://lowrider.local:8250); converter = SCA.BINDING.WS(http://converter#wsdl.port (CurrencyConverter/CurrencyConverterSOAPPort)); } }}
The Store exampleinspired by Tuscany • Define Applications store-catalog = TUSCANY.PACKAGE(launch.Launch,demo-store-catalog) { runtime = /tuscany-sca-lowrider; archive = TUSCANY.ARCHIVE(/home/dfournie/Archives/demo-store-catalog.jar); sca-setting { service-catalog = SCA.SERVICE(Catalog) { catalog = TUSCANY.BINDING.RMI(lowrider.local,4500,catalog); } data = SCA.PROPERTY(databaseUrl,jdbc:mysql://horse.local:7090/store); } dependencies { start-when-install { /query; } }}
The Store exampleinspired by Tuscany servlet-1 = TUSCANY.WAR { archive = TOMCAT.WAR.ARCHIVE(/home/dfournie/Archives/store.war); name = TOMCAT.WAR.NAME(store); tomcat = /tomcat-hoeve; sca-setting { reference-converter = SCA.REFERENCE(CurrencyConverter) { wsdl = /store-converter/sca-setting/service-converter; converter = /store-converter/sca-setting/service-converter; } reference-catalog = SCA.REFERENCE(Catalog) { catalog = /store-catalog/sca-setting/service-catalog; } } dependencies { start-when-install { /store-catalog; /store-converter; } }} • Define Applications
Contact INRIA ADAM Team Damien Fournier – INRIA Expert EngineerDamien.Fournier@inria.fr Philippe Merle – INRIA Research ScientistPhilippe.Merle@inria.fr DeployWare teamfdf-team@lists.gforge.inria.fr