SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
ADF Fusion architecture: manage
the modular approach
CON4581
Aino Andriessen, 24 september 2013
2

Aino Andriessen
Technical Consultant
Technical Architect
Training
ADF, Java, PL/SQL, XML, ...
SOA , Integration
Software engineering
Agile
aino.andriessen@amis.nl
http://www.fttech.net
3

•
•
•
•
•

Systems integrator
Consultancy
Oracle, Java, Open Source, ADF, SOA, BPM, Database, Mobile, ...
AMIS Technology School
Pagoni

• http://www.amis.nl
• http://technology.amis.nl/blog/
4

Architectural patterns
5

Simple application
6

Small application
7

Monster application
8

Enterprise
9

ADF Architecture
10

ADF Pattern genealogy

Sum of the
Parts

Two for One
Deal

Cylinder
Monster

Fine Grained
Small
Application

Small and
Simple
Application

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals

Pillar
11

Small application
• One application workspace = one deployment EAR
• Model: ADF Business Components
– Moderate amount of BC's
– One or a few Application Modules

• ViewController
–
–
–
–

One Unbounded Task Flow
Some Bounded Task Flows
Some page fragments
One or a few pages

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
12

Small application

Application Workspace
Model

View Objects
AppModule

Framework
Extensions

Entity Objects

ViewController

Bounded Task Flow

Fragments

Fragments
Bounded Task Flow
Fragments

Task Flow Template
Page Template
Declarative Components
Skin

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals

EAR

Pages

Bounded Task Flow

ViewController
Extensions

Unbounded Task Flow
13

Small Application
Advantages
• Simple architecture
– Easy to build and deploy

• Suits small teams and/or
small apps
• Bounded Task Flows
– Improved business process to
design mapping
– Improved modularization but not
perfect
– Options such as transaction
features (vs root ADF BC AMs)
– Programming by contract now
possible

• Improved ability to test
modules
• Requires little development
infrastructure

Disadvantages
• Developers can still
accidentally tightly couple
code
• Bounded Task Flows aren’t
externally reusable
• Application tends to grow in
size
14

Monster application
• Synonyms: uber, monolithic
• One application workspace = one deployment EAR

• Model
– Many, many BC's
– Multiple Application Modules

• ViewController
–
–
–
–

One Unbounded Task Flow
Many Bounded Task Flows
Many page fragments
Multiple Pages

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
15

Monster Application
Application Workspace
Model
Entity Objects

Entity Objects

View Objects

View Objects

View Objects

AppModule

AppModule

AppModule

Framework
Extensions

Entity Objects

AppModule
ViewController

Pages

Fragments
Bounded Task Flow
Fragments
Bounded Task Flow
Fragments

Fragments
Bounded Task Flow
Fragments
Bounded Task Flow
Fragments
Bounded Task Flow
Fragments

Task Flow Templates
Page Templates
Declarative Components
Skins
Bounded Task Flow
Fragments
Bounded Task Flow

Fragments

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals

EAR

Bounded Task Flow

Bounded Task Flow

ViewController
Extensions

Unbounded Task Flow
16

Monster application
Advantages

Disadvantages

•

Relatively simple architecture
still

•
•

•

Bounded Task Flows

•

Requires little development
infrastructure

•
•

Hard to maintain
Size (# of objects)
– Difficult to understand and
oversee everything
– Dependencies
– Developer's don’t dare to
touch existing code
Build is an all or nothing affair
Bounded Task Flows
transaction options can be
complicated

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
17

Modular ADF
Architectures
Sum of the
Parts

Two for One
Deal

Cylinder
Monster

Fine Grained
Small
Application

Small and
Simple
Application

Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals

Pillar
18

Examples
• Shop
• Insurance application
– Policies, Customers, Cases, Claims, Commission, Financials, …

• Judicial system
• Booking system
• … Business application
• Multiple small applications with repeated functionalities
• Multi-brand application
• Multi channel
– web, desktop, mobile, services
19

Implementation patterns
20

Basic ADF Application

ADF ViewController

ADF Model

DB
21

Modularization 1
Main

Main

Main

EAR
ADF Lib

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Claim

…

ADF Lib

Comm
ons
ADF Lib

Fwkext

DB
22

Modularization 2
Main
EAR
ADF Lib

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Claim

…

ADF Lib

Comm
ons
ADF Lib

ADF Lib

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Claim

…

Fwkext

DB
23

Modularization 2a
Main
EAR
ADF Lib

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Claim

…

ADF Lib

Comm
ons
ADF Lib

Party

Policy

Claim

DB

ADF Lib

…

Fwkext
24

Modularization 2b
Main
EAR
ADF Lib

Taskflows

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Claim

…

Comm
ons

AM
Viewobjects
ADF Lib

Entities / LOV

ADF Lib

Party

ADF Lib

ADF Lib

Policy

Claim

DB

ADF Lib

ADF Lib

…

Fwkext
25

Module interdependencies
Main

Main
ADF Lib

ADF Lib

ADF Lib

ADF Lib

Party

Policy

Party

Policy

PParty

PPolicy

1

Main
ADF Lib

ADF Lib

Main
ADF Lib

ADF Lib

ADF Lib

ADF Lib

ParPol

Party
Party

3

Policy

4

Policy

2

ADF Lib
26

Multi Channel
Mobile

SOA

Browser

ADF Mobile

Consumer

Main

Service
Service
AM, VO

BC

BTF
BTF
AM, VO

Domain
Entities, lov's
27
28

Implementation
29

Goal

Organize the application(s) in manageable components while maintaining
optimal development experience
30

Organization - general
• One workspace for main
• One workspace per 'unit'
• One or more common workspaces
–
–
–
–
–
–

Framework extensions
Declarative components
Taskflow templates
Pagetemplates
Skins
Utilities

• Each 'unit' is delivered as an ADF library
31

General principals
• Each workspace is able to run / tested on its own
• Full debugging must be available everywhere
– sources libraries

• Automated build, test, deliver and deploy process
32

Development Issues
•
•
•
•
•

Every object must be unique, worldwide
UI (page, tf, pagedef) hot deployment is only possible within a project
Libraries cannot be hot-deployed
Taskflows must be delivered in an ADF library to be used elsewhere
Testing taskflows
– Testpages (and pagedefs) and setup
– ADF EMG Taskflow Tester

• Limited ADF library configuration
• Refactoring over projects
• Build automation (with ant) is not easy
33

Single workspace nightmare
• May sound as a good idea: start small and grow bigger
• Use working sets to organize the projects within the workspace
But…
• Boundaries become fuzzy
• Running the application can be slow
• Testing is a problem
• Workspace might grow organically
• Using taskflows is confusing
• Hot deployment issues

• Fighting the framework
• Beware for the monster…
34
35

Challenges
•
•
•
•
•
•

Manage the build
Artifact management
Library management
Versioning
Sources and JavaDoc
Deployment
36

The importance of being
automated
•
•
•
•

Deliver adf libraries and ear
Deploy
Test
…

•
•
•
•
•
•
•
•
•
•
•
•

Consistent
Less mistakes
Easier
Faster
Fun
Everybody's party
Repeatable
Predictable
Transparent
Trackable
Reporting
Reuse
37

Build automation
• 11g: ant
• 12c: Maven
• Tasks
–
–
–
–
–
–

Package
source, javadoc jar
Version / build information
Publish to artifact repository
Release
Deploy to WLS
•
•

latest
version
38

Continuous Integration
Artifact management
• Central environment to store and manage deliverables / artifacts

• Publish and download:
40

Delivery
41

Maven ant tasks
42

Library management
43

Where to store (adf) libraries?
• ant
– project lib directory

• Maven
– local repository

• Internal Application libraries
– Build them locally and then deploy them to lib dir / local repo
– Don't submit then to scm but build them when needed

• External libraries (aka dependencies):
– Download from artifact repository

main -> HR
-> OE
44

ADF library dependencies
•
•
•
•

Dependencies of ADF libraries
Included in the consuming project
Works as a charm
ADF_Library_Dependencies.library

• Multiple versions of
nl/amis/demo/hr/view/DataBindings.cpx appear in
your project run classpath
– Path is not world-wide unique
– Circular dependency: project itself is included as library
because its used by dependent project

main -> HR -> commons
45

Artifact versioning
• Always provide version information
– MANIFEST.MF
•

define in deploy profile

– Filename
– WLS Deployment version
•

Manifest entry: Weblogic-Application-Version

• Remarks
–
–
–
–
–
–
–

OJDeploy failure when manifest file fails
'Internal' libraries could do without version in the file name
max # of redeployments on WLS
Update library definition
Use ojdeploy outputfile parameter for version in filename
Store version in local file to be used in ant build scripts
scm revision
46

ant Manifest
47

Sources and JavaDoc
• Always deliver sources and javadoc
• ant / maven tasks
• sources jar can also be generated with separate deploy profile

• Include as project library
48

Organize the build
• Multiple build files
– Build project
– per application
– per project

• Split build files
– build, artifact mgt, build-info, deploy

• Fix the generated build files
• Consistent naming
– use prefixes

• Externalize properties
• Manage project ant settings
• Reuse using svn externals
• Build scripting is hard
49

• this page is left blank intentionally
50
51

Summary
•
•
•
•
•

Modularization allows for better understandability and manageability
Choose the right architecture
Module autonomy
Build automation
JDeveloper doesn't always provide optimal support
52
53
54

References
• Chris Muir - One size doesn't fit all: Oracle ADF Architecture
Fundamentals - CON2203 - Thursday, Sep 26, 11:00 AM - 12:00 PM
Golden Gate A

• ADF EMG
• Oracle ADF Architecture Square
• ADF Code Guidelines
• ADF Naming and Project Layout Guidelines

- Marriott Marquis -
55
56

Contenu connexe

Tendances

.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
Georgia Tech Drupal Users Group - Local Drupal Development
Georgia Tech Drupal Users Group - Local Drupal DevelopmentGeorgia Tech Drupal Users Group - Local Drupal Development
Georgia Tech Drupal Users Group - Local Drupal DevelopmentEric Sembrat
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
Automate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinAutomate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinQA or the Highway
 
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic Multi-Cloud PaaS
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlChris Muir
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAdam Getchell
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationChris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsChris Muir
 
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
Browser tools that make web development easier
Browser tools that make web development easierBrowser tools that make web development easier
Browser tools that make web development easierAlan Seiden
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsChris Muir
 
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...Steve Kessler
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris Muir
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesChris Muir
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 

Tendances (19)

.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Prague 2017 - .NET Standard -- Karel Zikmund
 
Georgia Tech Drupal Users Group - Local Drupal Development
Georgia Tech Drupal Users Group - Local Drupal DevelopmentGeorgia Tech Drupal Users Group - Local Drupal Development
Georgia Tech Drupal Users Group - Local Drupal Development
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
Automate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron SwerleinAutomate Your Data, Free Your Mind by Aaron Swerlein
Automate Your Data, Free Your Mind by Aaron Swerlein
 
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015Jelastic - DevOps for Java with Docker Containers - Madrid 2015
Jelastic - DevOps for Java with Docker Containers - Madrid 2015
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET MeetUp Brno - Challenges of Managing CoreFX repo -- Karel Zikmund
 
Browser tools that make web development easier
Browser tools that make web development easierBrowser tools that make web development easier
Browser tools that make web development easier
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
 
Ow
OwOw
Ow
 
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
Resources for Navigating Drupal Upgrades: Versions 6 Through 8 And What It Me...
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
Zend Code in ZF 2.0
Zend Code in ZF 2.0Zend Code in ZF 2.0
Zend Code in ZF 2.0
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 

Similaire à Adf-fusion-architecture_manage-modular-approach_4581

Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...Wilco Turnhout
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introductionssusera8d54f
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Vadym Kazulkin
 
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...Josh Carlisle
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceSten Vesterli
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013DuckMa
 
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriar
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriarAdf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriar
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriarNilesh Shah
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsChris Muir
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--devaltsav
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesUlrich Krause
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraformJames Counts
 

Similaire à Adf-fusion-architecture_manage-modular-approach_4581 (20)

Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
DataOps with Project Amaterasu
DataOps with Project AmaterasuDataOps with Project Amaterasu
DataOps with Project Amaterasu
 
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
SharePoint Connections Conference Amsterdam - Pitfalls and success factors of...
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introduction
 
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
Measure and Increase Developer Productivity with Help of Serverless at JCON 2...
 
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...
Building Resilient Azure Solutions for Office 365 - SharePoint Saturday Atlan...
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
 
Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)Apache Drill (ver. 0.2)
Apache Drill (ver. 0.2)
 
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriar
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriarAdf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriar
Adf and ala design c sharp corner toronto chapter feb 2019 meetup nik shahriar
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Presentation 1 Web--dev
Presentation 1 Web--devPresentation 1 Web--dev
Presentation 1 Web--dev
 
Cloud Native Application Development
Cloud Native Application DevelopmentCloud Native Application Development
Cloud Native Application Development
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
An Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPagesAn Introduction To Model  View  Controller In XPages
An Introduction To Model  View  Controller In XPages
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraform
 

Plus de Berry Clemens

Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...
Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...
Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...Berry Clemens
 
Ebs strategy-roadmap-given
Ebs strategy-roadmap-givenEbs strategy-roadmap-given
Ebs strategy-roadmap-givenBerry Clemens
 
Strategy and erp in-the-cloud
Strategy and erp in-the-cloudStrategy and erp in-the-cloud
Strategy and erp in-the-cloudBerry Clemens
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullBerry Clemens
 
EBS 12.1 and 12.2 strategy-roadmap-given
EBS 12.1 and 12.2 strategy-roadmap-givenEBS 12.1 and 12.2 strategy-roadmap-given
EBS 12.1 and 12.2 strategy-roadmap-givenBerry Clemens
 
Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Berry Clemens
 
Oracle Fusion functional setup manager
Oracle Fusion functional setup managerOracle Fusion functional setup manager
Oracle Fusion functional setup managerBerry Clemens
 
Oracle E-Business Suitre mobile apps ADF
Oracle E-Business Suitre mobile apps ADFOracle E-Business Suitre mobile apps ADF
Oracle E-Business Suitre mobile apps ADFBerry Clemens
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileBerry Clemens
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationBerry Clemens
 
Fusion_apps extending and customizations
Fusion_apps extending and customizationsFusion_apps extending and customizations
Fusion_apps extending and customizationsBerry Clemens
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsBerry Clemens
 
EBS-endeca-technical-considerations
EBS-endeca-technical-considerationsEBS-endeca-technical-considerations
EBS-endeca-technical-considerationsBerry Clemens
 
EBS-technical_upgrade_best_practices 12.1 or 12.2
EBS-technical_upgrade_best_practices 12.1 or 12.2EBS-technical_upgrade_best_practices 12.1 or 12.2
EBS-technical_upgrade_best_practices 12.1 or 12.2Berry Clemens
 
Con8289 r12 maintenance tips heisler heisler-con8289
Con8289 r12 maintenance tips heisler heisler-con8289Con8289 r12 maintenance tips heisler heisler-con8289
Con8289 r12 maintenance tips heisler heisler-con8289Berry Clemens
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsBerry Clemens
 
Con9534 fusion financials
Con9534 fusion financialsCon9534 fusion financials
Con9534 fusion financialsBerry Clemens
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup managerBerry Clemens
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Berry Clemens
 
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerCon8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerBerry Clemens
 

Plus de Berry Clemens (20)

Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...
Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...
Simplified user experience_design_patterns_for_the_oracle_applications_cloud_...
 
Ebs strategy-roadmap-given
Ebs strategy-roadmap-givenEbs strategy-roadmap-given
Ebs strategy-roadmap-given
 
Strategy and erp in-the-cloud
Strategy and erp in-the-cloudStrategy and erp in-the-cloud
Strategy and erp in-the-cloud
 
Preparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-fullPreparing for EBS R12.2-upgrade-full
Preparing for EBS R12.2-upgrade-full
 
EBS 12.1 and 12.2 strategy-roadmap-given
EBS 12.1 and 12.2 strategy-roadmap-givenEBS 12.1 and 12.2 strategy-roadmap-given
EBS 12.1 and 12.2 strategy-roadmap-given
 
Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)Oracle Weblogic for EBS and obiee (R12.2)
Oracle Weblogic for EBS and obiee (R12.2)
 
Oracle Fusion functional setup manager
Oracle Fusion functional setup managerOracle Fusion functional setup manager
Oracle Fusion functional setup manager
 
Oracle E-Business Suitre mobile apps ADF
Oracle E-Business Suitre mobile apps ADFOracle E-Business Suitre mobile apps ADF
Oracle E-Business Suitre mobile apps ADF
 
Con9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobileCon9437 ad ffor_ebs and mobile
Con9437 ad ffor_ebs and mobile
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
 
Fusion_apps extending and customizations
Fusion_apps extending and customizationsFusion_apps extending and customizations
Fusion_apps extending and customizations
 
Programming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionappsProgramming-best practices( beginner) ADF_fusionapps
Programming-best practices( beginner) ADF_fusionapps
 
EBS-endeca-technical-considerations
EBS-endeca-technical-considerationsEBS-endeca-technical-considerations
EBS-endeca-technical-considerations
 
EBS-technical_upgrade_best_practices 12.1 or 12.2
EBS-technical_upgrade_best_practices 12.1 or 12.2EBS-technical_upgrade_best_practices 12.1 or 12.2
EBS-technical_upgrade_best_practices 12.1 or 12.2
 
Con8289 r12 maintenance tips heisler heisler-con8289
Con8289 r12 maintenance tips heisler heisler-con8289Con8289 r12 maintenance tips heisler heisler-con8289
Con8289 r12 maintenance tips heisler heisler-con8289
 
Con8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebsCon8439 fusion apps customs to ebs
Con8439 fusion apps customs to ebs
 
Con9534 fusion financials
Con9534 fusion financialsCon9534 fusion financials
Con9534 fusion financials
 
Con8442 fusion functional setup manager
Con8442 fusion functional setup managerCon8442 fusion functional setup manager
Con8442 fusion functional setup manager
 
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...Con3928 horton session con3928 fusion app on-premise installation lessons lea...
Con3928 horton session con3928 fusion app on-premise installation lessons lea...
 
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partnerCon8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
Con8493 simplified ui 2013 tailoring dubois_evers_teter_o'broin_uob_partner
 

Dernier

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Adf-fusion-architecture_manage-modular-approach_4581

  • 1. ADF Fusion architecture: manage the modular approach CON4581 Aino Andriessen, 24 september 2013
  • 2. 2 Aino Andriessen Technical Consultant Technical Architect Training ADF, Java, PL/SQL, XML, ... SOA , Integration Software engineering Agile aino.andriessen@amis.nl http://www.fttech.net
  • 3. 3 • • • • • Systems integrator Consultancy Oracle, Java, Open Source, ADF, SOA, BPM, Database, Mobile, ... AMIS Technology School Pagoni • http://www.amis.nl • http://technology.amis.nl/blog/
  • 10. 10 ADF Pattern genealogy Sum of the Parts Two for One Deal Cylinder Monster Fine Grained Small Application Small and Simple Application Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals Pillar
  • 11. 11 Small application • One application workspace = one deployment EAR • Model: ADF Business Components – Moderate amount of BC's – One or a few Application Modules • ViewController – – – – One Unbounded Task Flow Some Bounded Task Flows Some page fragments One or a few pages Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
  • 12. 12 Small application Application Workspace Model View Objects AppModule Framework Extensions Entity Objects ViewController Bounded Task Flow Fragments Fragments Bounded Task Flow Fragments Task Flow Template Page Template Declarative Components Skin Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals EAR Pages Bounded Task Flow ViewController Extensions Unbounded Task Flow
  • 13. 13 Small Application Advantages • Simple architecture – Easy to build and deploy • Suits small teams and/or small apps • Bounded Task Flows – Improved business process to design mapping – Improved modularization but not perfect – Options such as transaction features (vs root ADF BC AMs) – Programming by contract now possible • Improved ability to test modules • Requires little development infrastructure Disadvantages • Developers can still accidentally tightly couple code • Bounded Task Flows aren’t externally reusable • Application tends to grow in size
  • 14. 14 Monster application • Synonyms: uber, monolithic • One application workspace = one deployment EAR • Model – Many, many BC's – Multiple Application Modules • ViewController – – – – One Unbounded Task Flow Many Bounded Task Flows Many page fragments Multiple Pages Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
  • 15. 15 Monster Application Application Workspace Model Entity Objects Entity Objects View Objects View Objects View Objects AppModule AppModule AppModule Framework Extensions Entity Objects AppModule ViewController Pages Fragments Bounded Task Flow Fragments Bounded Task Flow Fragments Fragments Bounded Task Flow Fragments Bounded Task Flow Fragments Bounded Task Flow Fragments Task Flow Templates Page Templates Declarative Components Skins Bounded Task Flow Fragments Bounded Task Flow Fragments Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals EAR Bounded Task Flow Bounded Task Flow ViewController Extensions Unbounded Task Flow
  • 16. 16 Monster application Advantages Disadvantages • Relatively simple architecture still • • • Bounded Task Flows • Requires little development infrastructure • • Hard to maintain Size (# of objects) – Difficult to understand and oversee everything – Dependencies – Developer's don’t dare to touch existing code Build is an all or nothing affair Bounded Task Flows transaction options can be complicated Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals
  • 17. 17 Modular ADF Architectures Sum of the Parts Two for One Deal Cylinder Monster Fine Grained Small Application Small and Simple Application Source: Chris Muir, Oracle Corporation - One size doesn't fit all - Oracle ADF Architecture Fundamentals Pillar
  • 18. 18 Examples • Shop • Insurance application – Policies, Customers, Cases, Claims, Commission, Financials, … • Judicial system • Booking system • … Business application • Multiple small applications with repeated functionalities • Multi-brand application • Multi channel – web, desktop, mobile, services
  • 20. 20 Basic ADF Application ADF ViewController ADF Model DB
  • 21. 21 Modularization 1 Main Main Main EAR ADF Lib ADF Lib ADF Lib ADF Lib Party Policy Claim … ADF Lib Comm ons ADF Lib Fwkext DB
  • 22. 22 Modularization 2 Main EAR ADF Lib ADF Lib ADF Lib ADF Lib Party Policy Claim … ADF Lib Comm ons ADF Lib ADF Lib ADF Lib ADF Lib ADF Lib Party Policy Claim … Fwkext DB
  • 23. 23 Modularization 2a Main EAR ADF Lib ADF Lib ADF Lib ADF Lib Party Policy Claim … ADF Lib Comm ons ADF Lib Party Policy Claim DB ADF Lib … Fwkext
  • 24. 24 Modularization 2b Main EAR ADF Lib Taskflows ADF Lib ADF Lib ADF Lib Party Policy Claim … Comm ons AM Viewobjects ADF Lib Entities / LOV ADF Lib Party ADF Lib ADF Lib Policy Claim DB ADF Lib ADF Lib … Fwkext
  • 25. 25 Module interdependencies Main Main ADF Lib ADF Lib ADF Lib ADF Lib Party Policy Party Policy PParty PPolicy 1 Main ADF Lib ADF Lib Main ADF Lib ADF Lib ADF Lib ADF Lib ParPol Party Party 3 Policy 4 Policy 2 ADF Lib
  • 27. 27
  • 29. 29 Goal Organize the application(s) in manageable components while maintaining optimal development experience
  • 30. 30 Organization - general • One workspace for main • One workspace per 'unit' • One or more common workspaces – – – – – – Framework extensions Declarative components Taskflow templates Pagetemplates Skins Utilities • Each 'unit' is delivered as an ADF library
  • 31. 31 General principals • Each workspace is able to run / tested on its own • Full debugging must be available everywhere – sources libraries • Automated build, test, deliver and deploy process
  • 32. 32 Development Issues • • • • • Every object must be unique, worldwide UI (page, tf, pagedef) hot deployment is only possible within a project Libraries cannot be hot-deployed Taskflows must be delivered in an ADF library to be used elsewhere Testing taskflows – Testpages (and pagedefs) and setup – ADF EMG Taskflow Tester • Limited ADF library configuration • Refactoring over projects • Build automation (with ant) is not easy
  • 33. 33 Single workspace nightmare • May sound as a good idea: start small and grow bigger • Use working sets to organize the projects within the workspace But… • Boundaries become fuzzy • Running the application can be slow • Testing is a problem • Workspace might grow organically • Using taskflows is confusing • Hot deployment issues • Fighting the framework • Beware for the monster…
  • 34. 34
  • 35. 35 Challenges • • • • • • Manage the build Artifact management Library management Versioning Sources and JavaDoc Deployment
  • 36. 36 The importance of being automated • • • • Deliver adf libraries and ear Deploy Test … • • • • • • • • • • • • Consistent Less mistakes Easier Faster Fun Everybody's party Repeatable Predictable Transparent Trackable Reporting Reuse
  • 37. 37 Build automation • 11g: ant • 12c: Maven • Tasks – – – – – – Package source, javadoc jar Version / build information Publish to artifact repository Release Deploy to WLS • • latest version
  • 39. Artifact management • Central environment to store and manage deliverables / artifacts • Publish and download:
  • 43. 43 Where to store (adf) libraries? • ant – project lib directory • Maven – local repository • Internal Application libraries – Build them locally and then deploy them to lib dir / local repo – Don't submit then to scm but build them when needed • External libraries (aka dependencies): – Download from artifact repository main -> HR -> OE
  • 44. 44 ADF library dependencies • • • • Dependencies of ADF libraries Included in the consuming project Works as a charm ADF_Library_Dependencies.library • Multiple versions of nl/amis/demo/hr/view/DataBindings.cpx appear in your project run classpath – Path is not world-wide unique – Circular dependency: project itself is included as library because its used by dependent project main -> HR -> commons
  • 45. 45 Artifact versioning • Always provide version information – MANIFEST.MF • define in deploy profile – Filename – WLS Deployment version • Manifest entry: Weblogic-Application-Version • Remarks – – – – – – – OJDeploy failure when manifest file fails 'Internal' libraries could do without version in the file name max # of redeployments on WLS Update library definition Use ojdeploy outputfile parameter for version in filename Store version in local file to be used in ant build scripts scm revision
  • 47. 47 Sources and JavaDoc • Always deliver sources and javadoc • ant / maven tasks • sources jar can also be generated with separate deploy profile • Include as project library
  • 48. 48 Organize the build • Multiple build files – Build project – per application – per project • Split build files – build, artifact mgt, build-info, deploy • Fix the generated build files • Consistent naming – use prefixes • Externalize properties • Manage project ant settings • Reuse using svn externals • Build scripting is hard
  • 49. 49 • this page is left blank intentionally
  • 50. 50
  • 51. 51 Summary • • • • • Modularization allows for better understandability and manageability Choose the right architecture Module autonomy Build automation JDeveloper doesn't always provide optimal support
  • 52. 52
  • 53. 53
  • 54. 54 References • Chris Muir - One size doesn't fit all: Oracle ADF Architecture Fundamentals - CON2203 - Thursday, Sep 26, 11:00 AM - 12:00 PM Golden Gate A • ADF EMG • Oracle ADF Architecture Square • ADF Code Guidelines • ADF Naming and Project Layout Guidelines - Marriott Marquis -
  • 55. 55
  • 56. 56