SlideShare une entreprise Scribd logo
1  sur  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)

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Dernier (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

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