Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Developing Web Applications with Java by utg65734

VIEWS: 37 PAGES: 37

									Developing Web Applications with Java



              Divesh Goyal
       Dan O’Neill @jdoneill #ESRIUC
Introductions



 • 75 minute session
    – 60 – 65 minute lecture
    – 10 – 15 minutes Q & A following the lecture


 • Who are we?
    – Divesh Goyal – Java Product Engineer
    – Dan O’Neill - Java Product Engineer


 • Who are you?
    –   Current ArcGIS Server Application Developers?
    –   New ArcGIS Server Application Developers?
    –   Experience in Programming with Java ?
    –   Knowledge of Web Technologies?
    –   Experience with the Java WebADF?


                                                    Please complete the session survey!
Let’s get connected



 • ESRI Java Resource Center
    – Visit your ESRI Java Community!
    – http://resources.esri.com/java
Let’s get connected



 • TWITTER
    – What is it?
    – Why use it?
    – How can it help us?
    – http://twitter.com/jdoneill
Agenda



 •   ArcGIS Server Architecture
 •   Application Developer Framework (ADF) Architecture
 •   ADF Web Mapping Application (WMA)
 •   ADF Web Controls
 •   ADF Resources
 •   ADF Task Framework
 •   ADF Level Security
 •   Summary
ArcGIS Server Architecture
ArcGIS Server Architecture



                   ArcGIS Server Architecture

                  Flex API      Web Server and/or Application Server
                                         (HTTP) (HTTPS)

                JavaScript
                   API           Java Web ADF       .NET Web ADF




                                                                       SOAP, DCOM
         REST




                ArcGIS Server

                                          Server Object Container
                     ArcGIS
                     Manager
ArcGIS Server Architecture: Components

  GIS Server
                            • Server Object Manager (SOM)
                              – Operating system service
                              – Load balances requests
                              – Manages requests to SOCs
               SOM
                            • Server Object Container (SOC)
                              – Process that receives requests
                                from the SOM
                              – Contains one or more server objects

                            • Server Objects
   SOC                SOC     – Coarse-grained, stateless objects
                              – Access via SOAP or DCOM
                              – Can use ArcObjects
     Server objects
      ArcObjects

                                                                      2-8
ArcGIS Server Architecture: Application Developer
Framework (ADF)


                                        Web Application Server
             Web Browser
                                  Web Controls
                  Web ADF
                                                                       Tasks &
                                    Web ADF
                  JavaScript
                                   JavaScript                        Frameworks


                                                Web ADF Core




                                                                                Graphics
                                                            ArcWeb
                                                ArcIMS
                                  ArcGIS
                                  Server




                                                                        WMS
            Data Source


                     ArcGIS
                               ArcIMS                    ArcWeb               OGC\WMS
                     Server
ArcGIS Server Architecture: Application Developer
Framework
                     OverView               TOC

                     Results               Query

                                                                                      AgsMap

                                Context                                               AimsMap

                                                                                      WmsMap

                                                                                      Graphics


            Map                                      GIS                     GIS
                                WebMap
           Control                               Functionality             Resource


• ArcGIS Server Objects compose a toolset for                    AgsMap
  consuming and deploying ArcGIS Services and
  Resources.                                                     AimsMap

• Encourage good design through frameworks.                      WmsMap
• By restricting your programming choices to a
  subset of proven patterns, an application
  framework makes your job easier and less
  complex.
ArcGIS Server Architecture: Hello GIS Map Application




                DEMO
ADF Web Mapping Application (WMA)



 • Create applications in ArcGIS Server Manager




 • Create Applications in Developer
   IDE
ADF Web Mapping Application (WMA)
ADF Web Mapping Application (WMA)
Web Mapping Application (WMA) Template



 • Supported IDE’s
   – Eclipse
   – NetBeans
ADF Web Mapping Application (WMA): Extendible



 • Export Application out of Manager




 • Import into Developer IDE




 • Create from within Developer IDE
ADF Web Mapping Application (WMA)




              DEMO
Web ADF Controls


  • Context control
    – Non-visual, manages all other controls
  • Map control
    – Provides visualization for the layers
  • Table of Control
    – Enables interactivity to the layers of the map
  • Overview control
    – Provides visual reference to the current map extent
  • Task control
    – Framework to add custom functionality
  • Toolbar control
    – Container for applications tools
ADF Web Controls: Architecture
ADF Web Controls: Ajax Enabled




• ADF Controls extend the AJAX programming model
• Handles interaction with Controls
• Provides a container for client-side windows
ADF Web Controls




              DEMO
ADF Resources



 • Resources supported out-of-the-box
   – ArcGIS Server
   – ArcGIS Online
   – ArcIMS
   – ArcWeb
   – WMS
   – Graphics Resource


 • Ability to add custom resources
ADF Resources


             AgsMap

             AimsMap

             WmsMap

             Graphics


    GIS
  Resource
ADF Resources


              1        n   GISResource   1      n
 WebContext                                         GISFunctionality




AGSResource       WMSResource       …Resource       faces-config.xml




   • Resources are defined in
     the faces-config.xml file




                                                                       24
ADF Resources



 1. Extend GISResource

 2. Implement interfaces such as MapFunctionality,
    TOCFunctionality, etc.

 3. Register functionalities in *-functionalities.xml
   1. *= ags / aims / wms / aws / ejb

 4. Register the custom resource in faces-config.xml

 5. Add it to the list of WebContext resources
ADF Task Framework


  • Tasks are objects that encapsulate business logic
  • Configurable from Manager
  • Out of the box tasks
    – Navigation
    – Geoprocessing
    – Search by attributes
    – Editing
    – Find direction
    – Predefined query
    – Find place
    – Other …
  • Custom tasks
  • Results container for displaying task results
ADF Task Framework: Extending


  1. Create a standard Java Class
    –   Signature of the method will dictate command or tool
  2. Register the Java class as a managed bean in the faces-
     config.xml file
    –   Make it available in the ADF
  3. Add the task tag to the jsp, with reference to the managed
     bean
    –   To visually display the UI to the user
ADF Task Framework

     Task Framework - quick way to build your own controls.       Query Task

      •Editor                   • Find Address
      •GP                       • Find Place
      •Search Attributes        • Printing.
      •Query


                                                              GP Task

Two Step Task Development
1.    Add task as managed bean to faces-config.
2.    Add Task Control to web page.
Three Step Custom Task Development
1.    Create Java class.
2.    Add class as managed bean to faces-config.
3.    Add task control to web page, refer to bean.
ADF Task Framework: Integrate Server Side Business
Objects




                Server Object Extension


     Server Object
         (SO)
               Java Server Object Extension
                     or Utility Object




  Extending ArcGIS Server with Java
ADF Task Framework




              DEMO
Web ADF Application Security



 • Securing Access
    – Java EE – Provided by application servers
    – ArcGIS Managed
 • Fine grained control
    – Web ADF Custimization
Web ADF Application Security – Securing Access



 • Java EE Security
    – Allowed roles configured through ArcGIS Manager
    – Administrator needs to setup/configure realm for application server
 • ArcGIS Managed
    – Completely UI driven through ArcGIS Manager
    – Export and deploy to any supported application server
    – Security via login-control
Web ADF Application Security




               DEMO
Summary



 •   ArcGIS Server Architecture
 •   Application Developer Framework (ADF) Architecture
 •   ADF Web Mapping Application (WMA)
 •   ADF Web Controls
 •   ADF Resources
 •   ADF Task Framework
 •   ADF Level Security
 •   Summary
ESRI UC 2009 Related Sessions



 • Tuesday July 14
    – Securing your ArcGIS Server for the Java Platform Site
      • 1:30PM Room E
    – Building Solutions with ArcGIS Engine and Java
      • 3:15PM Room 15A
 • Wednesday July 15
    – Building Mashups Using the ArcGIS API’s for JavaScript
      • 1:30PM Room 6E
 • Thursday July 16
    – Building Mashups Using the ArcGIS API’s for JavaScript
      • 10:15AM Room 6E
ESRI UC 2009 ArcGIS Server Demo Theatre



 • Server GIS Showcase Software Island
 • Wednesday July 15
   – Server Object Extensions with Java
      • 9:AM
   – Java Web ADF Editing Task Framework
      • 10:AM
   – Using the Java Web Services API
      • 2:PM
 • Thursday July 16
   – Eclipse/NetBeans Developer Experience
      • 11:AM
THANK YOU

								
To top