SlideShare uma empresa Scribd logo
1 de 18
ENTERPRISE  RIA  WITH FLEX, JAVA AND  GRANITEDS 2010, September 22  Franck WOLFF and William DRAI
A comprehensive  open source  alternative to Adobe server solutions THE PROJECT OPEN SOURCE : LGPLv2 MATURE : Started late 2006 WEB SITE : http://www.graniteds.org COMMUNITY : 650 members (estimated 5000 users) ADOPTION : Many administrations and corporations in Europe, USA and many other countries
PLATFORM STACK
AGENDA LIVE DEMO REMOTING TO JAVA SERVICES PERSISTENCE WITH JPA MESSAGING AND DATA SYNCHRONIZATION SECURITY NUMERIC DATA TYPES (new in GDS 2.2) MODEL-DRIVEN VALIDATION (new in GDS 2.2)
End-to-end typesafety ,[object Object]
Lots of boilerplate code and server-side configuration
Not typesafe, no code-completion
ALTERNATIVE SOLUTION : Tide API
Typesafe client stubs generated by GAS3 for usual Java services (Spring, EJB3, CDI...) ,[object Object],[object Object]
Typesafe remote service injection (Spring, CDI beans only)
Numeric types in AS3 are limited to int and Number ACCESSING REMOTE SERVICES (1/2)
@RemoteDestination public class HelloService { public String hello(String name); } [Inject] public var helloService:HelloService; private function hello(name:String):void { helloService.hello(name,  saveResult, saveFault ); } private function saveResult(event:TideResultEvent):void { trace(event.result); } private function saveFault(event:TideFaultEvent):void { Alert.show(event.fault.faultCode); } ACCESSING REMOTE SERVICES (2/2)
Simple data management ,[object Object]
SOLUTION :
AS3 entities are generated by GAS3
Serialization of JPA detached objects with their full internal state
A local entity cache ensures that each instance exists only once
Transparent lazy loading of collections PERSISTENCE WITH JPA (1/2)

Mais conteúdo relacionado

Mais procurados

Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017Codemotion
 
User authentication and authorizarion in Kubernetes
User authentication and authorizarion in KubernetesUser authentication and authorizarion in Kubernetes
User authentication and authorizarion in KubernetesNeependra Khare
 
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow TasksPramod Singla
 
Android rest client applications-services approach @Droidcon Bucharest 2012
Android rest client applications-services approach @Droidcon Bucharest 2012Android rest client applications-services approach @Droidcon Bucharest 2012
Android rest client applications-services approach @Droidcon Bucharest 2012Droidcon Eastern Europe
 
2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control Flow2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control FlowPramod Singla
 
Kubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 SeattleKubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 SeattleSuraj Deshmukh
 
Breaking the Server-Client Divide with Node.js and React
Breaking the Server-Client Divide with Node.js and ReactBreaking the Server-Client Divide with Node.js and React
Breaking the Server-Client Divide with Node.js and ReactDejan Glozic
 
Euruko 2009 - DataObjects
Euruko 2009 - DataObjectsEuruko 2009 - DataObjects
Euruko 2009 - DataObjectsDirkjan Bussink
 
OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101Steve Martinelli
 
A Brief Introduction to React.js
A Brief Introduction to React.jsA Brief Introduction to React.js
A Brief Introduction to React.jsDoug Neiner
 
React & Redux JS
React & Redux JS React & Redux JS
React & Redux JS Hamed Farag
 

Mais procurados (20)

Deep Dive In To Kerberos
Deep Dive In To KerberosDeep Dive In To Kerberos
Deep Dive In To Kerberos
 
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
 
React JS - Introduction
React JS - IntroductionReact JS - Introduction
React JS - Introduction
 
Keystone Federation
Keystone Federation Keystone Federation
Keystone Federation
 
User authentication and authorizarion in Kubernetes
User authentication and authorizarion in KubernetesUser authentication and authorizarion in Kubernetes
User authentication and authorizarion in Kubernetes
 
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
 
Android rest client applications-services approach @Droidcon Bucharest 2012
Android rest client applications-services approach @Droidcon Bucharest 2012Android rest client applications-services approach @Droidcon Bucharest 2012
Android rest client applications-services approach @Droidcon Bucharest 2012
 
React render props
React render propsReact render props
React render props
 
SSO with kerberos
SSO with kerberosSSO with kerberos
SSO with kerberos
 
2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control Flow2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control Flow
 
Openstack Keystone
Openstack Keystone Openstack Keystone
Openstack Keystone
 
3 database-jdbc(1)
3 database-jdbc(1)3 database-jdbc(1)
3 database-jdbc(1)
 
Kubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 SeattleKubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 Seattle
 
Breaking the Server-Client Divide with Node.js and React
Breaking the Server-Client Divide with Node.js and ReactBreaking the Server-Client Divide with Node.js and React
Breaking the Server-Client Divide with Node.js and React
 
Euruko 2009 - DataObjects
Euruko 2009 - DataObjectsEuruko 2009 - DataObjects
Euruko 2009 - DataObjects
 
OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101OpenStack Toronto Meetup - Keystone 101
OpenStack Toronto Meetup - Keystone 101
 
A Brief Introduction to React.js
A Brief Introduction to React.jsA Brief Introduction to React.js
A Brief Introduction to React.js
 
React & Redux JS
React & Redux JS React & Redux JS
React & Redux JS
 
Lecture 1. java database connectivity
Lecture 1. java database connectivityLecture 1. java database connectivity
Lecture 1. java database connectivity
 
JDBC
JDBCJDBC
JDBC
 

Destaque

What you should know about EVC of Tax Return?
What you should know about EVC of Tax Return?What you should know about EVC of Tax Return?
What you should know about EVC of Tax Return?Prabodhan Patil
 
Levelup Studio Profile 2011
Levelup Studio Profile 2011Levelup Studio Profile 2011
Levelup Studio Profile 2011Akarawat Levelup
 
Elizabeth I.farland
Elizabeth I.farlandElizabeth I.farland
Elizabeth I.farlandtmfarland
 
Teekay Corporation Q1-2016 Earnings Presentation
Teekay Corporation Q1-2016 Earnings PresentationTeekay Corporation Q1-2016 Earnings Presentation
Teekay Corporation Q1-2016 Earnings PresentationTeekay Corporation
 
Teekay Sustainability Report 2015
Teekay Sustainability Report 2015Teekay Sustainability Report 2015
Teekay Sustainability Report 2015Teekay Corporation
 
Teekay Corporation Q2-2016 Earnings Presentation
Teekay Corporation Q2-2016 Earnings PresentationTeekay Corporation Q2-2016 Earnings Presentation
Teekay Corporation Q2-2016 Earnings PresentationTeekay Corporation
 
11ขั้นตอนการทำเกมแบบ Levelup Studio
11ขั้นตอนการทำเกมแบบ Levelup Studio11ขั้นตอนการทำเกมแบบ Levelup Studio
11ขั้นตอนการทำเกมแบบ Levelup StudioAkarawat Levelup
 

Destaque (10)

What you should know about EVC of Tax Return?
What you should know about EVC of Tax Return?What you should know about EVC of Tax Return?
What you should know about EVC of Tax Return?
 
Levelup Studio Profile 2011
Levelup Studio Profile 2011Levelup Studio Profile 2011
Levelup Studio Profile 2011
 
Elizabeth I.farland
Elizabeth I.farlandElizabeth I.farland
Elizabeth I.farland
 
Teekay Corporation Q1-2016 Earnings Presentation
Teekay Corporation Q1-2016 Earnings PresentationTeekay Corporation Q1-2016 Earnings Presentation
Teekay Corporation Q1-2016 Earnings Presentation
 
Westlife
WestlifeWestlife
Westlife
 
Teekay Sustainability Report 2015
Teekay Sustainability Report 2015Teekay Sustainability Report 2015
Teekay Sustainability Report 2015
 
economics
 economics economics
economics
 
Teekay Corporation Q2-2016 Earnings Presentation
Teekay Corporation Q2-2016 Earnings PresentationTeekay Corporation Q2-2016 Earnings Presentation
Teekay Corporation Q2-2016 Earnings Presentation
 
Testjes dag 3
Testjes dag 3Testjes dag 3
Testjes dag 3
 
11ขั้นตอนการทำเกมแบบ Levelup Studio
11ขั้นตอนการทำเกมแบบ Levelup Studio11ขั้นตอนการทำเกมแบบ Levelup Studio
11ขั้นตอนการทำเกมแบบ Levelup Studio
 

Semelhante a GraniteDS 360|Flex DC

Jasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casJasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casellentuck
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayEurotech
 
Logisland "Event Mining at scale"
Logisland "Event Mining at scale"Logisland "Event Mining at scale"
Logisland "Event Mining at scale"Thomas Bailet
 
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overviewjimliddle
 
Java programming concept
Java programming conceptJava programming concept
Java programming conceptSanjay Gunjal
 
GumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWSGumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWSDataStax Academy
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Servicesukdpe
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineIMC Institute
 
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008Association Paris-Web
 
Programming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioProgramming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioGünter Obiltschnig
 
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareEvent Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareHostedbyConfluent
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaRyan Cuprak
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyMałgorzata Borzęcka
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsSebastian Springer
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITCarol McDonald
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersoazabir
 
Serverless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemServerless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemAmazon Web Services
 

Semelhante a GraniteDS 360|Flex DC (20)

Jasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-casJasigsakai12 columbia-customizes-cas
Jasigsakai12 columbia-customizes-cas
 
Creating a Java Internet of Things Gateway
Creating a Java Internet of Things GatewayCreating a Java Internet of Things Gateway
Creating a Java Internet of Things Gateway
 
Logisland "Event Mining at scale"
Logisland "Event Mining at scale"Logisland "Event Mining at scale"
Logisland "Event Mining at scale"
 
Giga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching OverviewGiga Spaces Data Grid / Data Caching Overview
Giga Spaces Data Grid / Data Caching Overview
 
Java programming concept
Java programming conceptJava programming concept
Java programming concept
 
GumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWSGumGum: Multi-Region Cassandra in AWS
GumGum: Multi-Region Cassandra in AWS
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
 
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
IE 8 et les standards du Web - Chris Wilson - Paris Web 2008
 
Programming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.ioProgramming IoT Gateways in JavaScript with macchina.io
Programming IoT Gateways in JavaScript with macchina.io
 
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMwareEvent Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
Event Streaming with Kafka Streams and Spring Cloud Stream | Soby Chacko, VMware
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in Technology
 
Ria Spring Blaze Ds
Ria Spring Blaze DsRia Spring Blaze Ds
Ria Spring Blaze Ds
 
Divide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.jsDivide and Conquer – Microservices with Node.js
Divide and Conquer – Microservices with Node.js
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Interoperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSITInteroperable Web Services with JAX-WS and WSIT
Interoperable Web Services with JAX-WS and WSIT
 
Scaling asp.net websites to millions of users
Scaling asp.net websites to millions of usersScaling asp.net websites to millions of users
Scaling asp.net websites to millions of users
 
Serverless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemServerless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat System
 

Último

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

GraniteDS 360|Flex DC

  • 1. ENTERPRISE RIA WITH FLEX, JAVA AND GRANITEDS 2010, September 22 Franck WOLFF and William DRAI
  • 2. A comprehensive open source alternative to Adobe server solutions THE PROJECT OPEN SOURCE : LGPLv2 MATURE : Started late 2006 WEB SITE : http://www.graniteds.org COMMUNITY : 650 members (estimated 5000 users) ADOPTION : Many administrations and corporations in Europe, USA and many other countries
  • 4. AGENDA LIVE DEMO REMOTING TO JAVA SERVICES PERSISTENCE WITH JPA MESSAGING AND DATA SYNCHRONIZATION SECURITY NUMERIC DATA TYPES (new in GDS 2.2) MODEL-DRIVEN VALIDATION (new in GDS 2.2)
  • 5.
  • 6. Lots of boilerplate code and server-side configuration
  • 7. Not typesafe, no code-completion
  • 9.
  • 10. Typesafe remote service injection (Spring, CDI beans only)
  • 11. Numeric types in AS3 are limited to int and Number ACCESSING REMOTE SERVICES (1/2)
  • 12. @RemoteDestination public class HelloService { public String hello(String name); } [Inject] public var helloService:HelloService; private function hello(name:String):void { helloService.hello(name, saveResult, saveFault ); } private function saveResult(event:TideResultEvent):void { trace(event.result); } private function saveFault(event:TideFaultEvent):void { Alert.show(event.fault.faultCode); } ACCESSING REMOTE SERVICES (2/2)
  • 13.
  • 15. AS3 entities are generated by GAS3
  • 16. Serialization of JPA detached objects with their full internal state
  • 17. A local entity cache ensures that each instance exists only once
  • 18. Transparent lazy loading of collections PERSISTENCE WITH JPA (1/2)
  • 19. @Entity public class Book { @Id private Long id; @Basic private String uid; @Basic private String title; } [Inject] public var bookService:BookService; private function saveBook():void { var book:Book = new Book(); book.title = titleInput.text; bookService.saveBook(book); } @Stateless public class BookServiceBean implements BookService { @PersistenceContext private EntityManager em; public Book saveBook(Book book) { return em.merge(book) ; } } PERSISTENCE WITH JPA (2/2)
  • 20.
  • 21. POOR SOLUTION : 'Refresh' button
  • 22. RICH SOLUTION : Use of messaging with the Consumer/Producer pattern (chat)
  • 23. GraniteDS includes a performant Comet engine (Gravity) that uses the capabilities of the underlying application server (non-blocking I/O, native APR, Servlet 3.0...) MESSAGING (1/2)
  • 24.
  • 25. 1. GraniteDS detects data updates and pushes them on a messaging topic
  • 26. 2. The Tide framework merges incoming updates in its local data cache
  • 27. 3. The UI is automatically updated by the Flex data binding mechanism MESSAGING (2/2)
  • 28.
  • 29. Built-in Flex Identity component integrated with Java security frameworks (servlet containers, Spring security, Seam security)
  • 30. Support for web-based authentication (SSO, OpenID...)
  • 31. Role-based and permission-based authorization SECURITY (1/2)
  • 32. [Inject] public var identity:Identity ; private function login():void { identity.login(username, password); } private function logout():void { identity.logout(); } // Retrieve current server authentication state private function creationComplete():void { identity.isLoggedIn (); } Role-based authorization <s:Button label='Delete' enabled=' identity.hasRole( &quot; admin &quot; ) '/> Permission-based authorization <s:Button label='Delete' enabled=' identity.hasPermission(book, &quot; delete &quot; ) '/> SECURITY (2/2)
  • 33.
  • 34.
  • 35.
  • 36. Implementation of Long, BigInteger and BigDecimal types in AS3
  • 37. No loss of precision during serialization
  • 38. Simple arithmetic operations implemented, with fine control over decimal expansion NUMERIC TYPES (2/2)
  • 39.
  • 40. STANDARD SOLUTION : Flex Validator API
  • 42. Requires to manually maintain consistency between client-side and server-side validation MODEL-DRIVEN VALIDATION (1/3)
  • 43.
  • 44. 1. GraniteDS includes a client validation engine implementing the Bean Validation API
  • 45. 2. The GAS3 generator replicates Bean Validation annotations into AS3 entities
  • 46. 3. The Flex component FormValidator enforces constraints for all inputs in a form MODEL-DRIVEN VALIDATION (2/3)
  • 47.
  • 48. Client and server validations are always consistent (Gas3)
  • 49. Custom error messages with bundles
  • 50. Server-side validation errors are also notified to the UI
  • 51. Q/A THANK YOU www.graniteds.org