SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Automating Business Processes in Denver

          A Technical Case Study"
    "   "   "Eric Harper   "   "   "    "Zia Consulting"    "   "eharper@ziaconsulting.com"
    "   "   "Paul Lungu    "   "   "City & County of Denver "   " paul.lungu@denvergov.org"
Who are we?"
Eric Harper
    •  Zia Consulting"
    •  Architect/PM/Developer"

Paul Lungu
  •  City & County of Denver"
  •  Associate Developer"
Who is Zia?

A firm with deep technical expertise & strategic insight, coupled with our Agile
software methodology, provides numerous benefits to our customers"

                       Enterprise Content Management (ECM)
                        An ECM is a cultivation of knowledge -- one of the most valuable assets to any
 Our	
  Partners	
  
                        organization. A proper ECM system ensures content has integrity through proper
                        version control, allows producers to easily create content and publish it to a variety of
                        mediums, and it automates processes, streamlining the review, approval and
                        distribution of content across an organization.  Zia's ECM offerings provide all of these
                        benefits, and more, in a manner tailored to the client's business needs. 

                       Enterprise 2.0 Solutions
                       The focus of technology should always be on people. Zia enables our customers to gain
                       tremendous competitive advantage by allowing their team to collaborate more
                       effectively, respond more quickly to changes, and make better decisions. Adopters of
                       Enterprise 2.0 solutions will find they have a more productive, engaged and informed
                       team.
                       Enterprise Mobile Applications
                        Mobile workforce enablement is an increasing trend for Zia s enterprise customers.
                        Zia s Fresh Docs ECM application is available for iPhone, iPad and Android platforms.
                        The newly released Fresh Xpense application is a simple expense and receipt capture
                        tool for the iPhone that integrates with Xpenser.com.

                       Zia s Agile Solution Methodology
                       At its heart, our Agile-based methodology is centered on a close collaborative approach to
                       maximizing value for our customers. Constant client communication is necessary to ensure
                       that each development iteration addresses features with the highest business value, even if
                       those features were unknown at the launch of the project.
Some Facts about Denver                      "




        The City"
           •    Founded in 1858!
           •    Strong Mayor form of government, consolidated City-County!
           •    Population of 600,000!
           •    16th largest metro area in the United States!
           •    10th largest central business district in the United States!
           •    250,000 households!
           •    One of the fittest and most highly educated cities in the nation!
           •    11,000 city employees!
           •    $1+ billion annual budget!


        Denver Technology Services"
           •    Formed in 2005!
           •    Previously federated organizational model!
           •    300 IT employees!
           •    $48M yearly budget!
Denverʼs Many Content Management
Systems"
         Poor	
  UI	
  	
  
                                                       Meager	
  search	
  capability	
  

       Manual	
  load	
  of	
  metadata	
                               Slow	
  Performance	
  


        Memory	
  Leaks	
  	
  

                                                Nightly	
  Server	
  Reboots	
  


       One	
  security	
  role	
  	
                 14	
  disconnected	
  
                                                   Doc	
  Mgmt	
  	
  systems	
  
       Poor	
  audi=ng	
  &	
  
        RM	
  capability	
  	
  

                                              LiFle	
  Staff	
  Exper=se	
  
Turned to Alfresco + Zia Consulting"
Phase 1: Scanned Documents (2010)
   •     Contracts & Financial Records"
   •     Migrated off Liberty IMS to Alfresco + KOFAX"
        •    Implemented rules-based workflow"


Phase 2: CMIS Integrations (2010)
   •     Document Repository for PeopleSoft CRM and Financials"
   •     iOS App for City 311 Help Center"

Phase 3: Automated Contracting Process (2011)
   •     Customized Advanced Workflow"
        •    Web Service integration with PeopleSoft"
        •    Supports full lifecycle of contracting process"


Phase 4: Human Services Case Management (2011)
   •     Ephesoft Imaging front end"
   •     Repository Integration with custom apps"
Contracting Workflow Process"

Lifecycle
  •    RFP or Contract Request"
  •    Staff Reviews"
  •    Contract Drafting"
  •    Vendor Negotiation & Signature"
  •    City Council Ordinance Process"
  •    City Signatures"

Integration
  •  PeopleSoft Financials (Requisition/Purchase Order)"
  •  SIRE Legislative Information System (Ordinance)"
  •  Oracle OBIEE (Reporting)"
Contracting Workflow Process"

Customized Features
  •    SOAP Web Service for workflow initiation"
  •    Task Email Notification"
  •    Delegation"
  •    “Connected” Workflow"
  •    Rules-driven task assignment"
  •    Automated PDF transformation/generation"
  •    UI Customizations"
  •    Electronic Signature"
  •    Management Dashboard"
Demo"
Customizations"

Web Services                         UI Customizations
  •  Workflow Initiation"               •  Simple (& Non-Simple)
  •  Other apps interfacing "             Filtered Association Gen"
      with Alfresco"                   •  Content Upload"
                                       •  Wiring webscripts with JSF"
Workflow Features
  •    Action Classes"               Custom Actions on Spaces
  •    Delegation"
                                     Custom Core Services
  •    Electronic Signature (PIN)"
  •    Rules-driven Assignment"      Testing
  •    PDF Generation"                 •  Workflow Testing"
                                       •  Unit testing actions, web
                                          services"
Web Service example"
Things you may want to do with web services
(Some of this can be done using CMIS WS API)
  •    Search the repo for docs and meta-data"
  •    Initiate workflow"
  •    Put docs into repo"
  •    Why not just use CMIS API?"
Web Service example (continued)

Exposing servlet-based web services using JAX-WS"
Spring Wiring
<jaxws:endpoint id="fadService" address="/ccd/FadWebService" implementor="#fadWebService">
</jaxws:endpoint>
<bean name="fadWebService" class="us.co.denver.webservice.FADWebServiceImpl">
   <property name="nodeService" ref="NodeService" />
   <property name="searchService" ref="SearchService" />
   <property name="fileFolderService" ref="FileFolderService" />
   <property name="namespaceService" ref="NamespaceService" />
   <property name="transactionService" ref="TransactionService" />
   <property name="repositoryHelper" ref="repositoryHelper"/>
</bean>
Java Code (Annotation Driven)
@WebService
public interface FADWebService{
   public Object[] getDocumentInfo(Criteria [] c) throws FaultMsg;
   public String removeDocument(String uuid) throws FaultMsg;
   public String updateDocument(String uuid) throws FaultMsg;
Custom Workflow Wiring Example"
web-client-application-custom-context.xml – define the web-client-config-custom-wf.xml


web-client-config-custom-wf.xml – defines the properties that will be displayed in your workflow

workflow_def.xml – defines the flow of your work flow


workflow_model.xml – defines the tasks in your workflow

workflow-messages.properties – defines labels in workflow
Workflow Action Example"
Inserting page templates into the workflow
<task-node name="signature-generation">
   <event type="node-enter">
       <script>
           <variable name="contractStage" access="write" />
           <expression><![CDATA[contractStage = "stage4";]]></expression>
       </script>
       <action class="us.co.denver.repo.workflow.jbpm.GenerateContractAction">
                <method>insertVendorSignatureTemplate</method>
       </action>
       <action class="us.co.denver.repo.workflow.jbpm.GenerateContractAction">
                   <method>insertCharterSignatureTemplate</method>
       </action>
   </event>
   <task name="gawf:signatureGenerationTask">
       <assignment class="us.co.denver.repo.workflow.jbpm.assignment.DelegatableAssignment">
              <actor>#{ccdwf_attorney}</actor>
       </assignment>
   </task>
   <transition name="done" to="generate-signature-draft"/>
</task-node>
Filtered Association Generator Example"
Avoid this sort of thing. It is convoluted and complicated. Every time I
  look at it, I think how did I do this?

This is an good example of why Share is better
   •  Faces"
     •    faces-config-custom.xml - to configure the managed bean – the bean that is controlled by
          faces frame work"
     • 
      "   web-client-config-custom-wf.xml - to configure UI property sheet"
   •  Workflow"
     •    FilteredAssociationGenerator.java – sets up the Component"
     •    UIFilteredAssociationEditor.java – does heavy lifting with alfresco API (associates groups
          with UI component)"
     • 
      "   workflow_model.xml"
   •  Spring"
     • 
      "   web-client-application-custom-context.xml – tell spring from where to load the faces config
          property sheet"
Custom Core Services Example"
Extending the service registry - Wiring up JDBC service

custom-web-context.xml
Create the serivce
<bean id="CCDJDBCService" class="us.co.denver.repo.service.CCDJDBCServiceImpl">
<property name="workFlowNameMappingDAO" ref="workFlowNameMappingDAO" />
<property name="ServiceRegistry" ref="CCDServiceRegistry"/>
</bean>
Create DAO to use JDBC template
<bean id="workFlowNameMappingDAO" class="us.co.denver.repo.dao.WorkFlowNameMappingDAOImpl">
<property name="simpleJdbcTemplate" ref="simpleJdbcTemplate" />
</bean>
Extend the Alfresco service registry
<bean id="CCDServiceRegistry" class="us.co.denver.repo.service.CCDServiceDescriptorRegistry" parent="ServiceRegistry">
</bean>
Wire up Spring's simple JDBC template to query the DB
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="defaultDataSource" />
</bean>
Workflow Testing Example"
Base Test
  •  Initialize Spring!
   new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");
   serviceRegistry = (ServiceRegistry) _context.getBean(ServiceRegistry.SERVICE_REGISTRY);



Abstract Workflow Test
  •  Set up workflow"
  •  EndAssignedTaskByName"

Workflow Test
  •  Define path for workflow test"
  •  Task Completion Methods – update properties and end task"
  •  Start with the happy path, incorporate revision paths incrementally"
Unit Testing Example"
Dependencies
   •    Not easy to mock dependencies"
   •    Easy to load Spring container"
                  new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml");

You can also use the context config annotation
        "@ContextConfiguration(locations={"classpath:alfresco/application-context.xml","classpath:us/co/denver/fads/
        webservice/fad-service-test-context.xml"})
   Don’t use @RunWith (SpringJUnit4ClassRunner.class)


Get Service Registry and then test classes
   serviceRegistry = (ServiceRegistry) context.getBean(ServiceRegistry.SERVICE_REGISTRY);



Setup and Create tests
   @Before
   public void setup(){


   @Test
   public void testGetDocumentInfoWhenYEqualsX(){
Jetty Embedded"
We use Jetty for development
  •      Allows projects in workspace to run without building war
  •      Starts fast, less restarts
  •      Set up projects to build as AMPS
  •      Easy to configure new projects to use Jetty
  •      Easy to configure different startup setups depending on projects
  •      Point jetty at config and classes dir in your project

       <Set name="extraClasspath">
       <Call class="org.apache.commons.lang.StringUtils" name="join">
       <Arg>
       <Array type="java.lang.String">
       <Item>../CCDCore/build/classes</Item>
       <Item>../CCDCore/config</Item>
       <Item>../ContractingAutomation/build/classes</Item>
       <Item>../ContractingAutomation/config</Item>
Lessons Learned"
 •     Long workflows difficult to get right (both design and implement)
 •     Better to start simple and build incrementally
 •     Testing is difficult (build infrastructure as you go)
 •     Use web scripts when possible for UI modifications
 •     J2EE servers can be difficult
 •     Indexing Clustering issues
 •     Alfresco configs
      •    LDAP
      •    JODConverter
      •    Fileservers
      •    Don’t forget Zero Day config

 •  Test Performance!
It helps to know"
Java, Javascript, Faces, Spring

Spring Framework
  • Spring patterns - DI/IoC, Interface, Marker, Factory"
  • Spring initialization life-cycle"

Alfresco API
  • Service based architecture"
  • Not very intuitive"
  • Consider getting properties from a node. You would expect to be able to get
   properties with a noderef. Instead you must use the node service."

Xpath
  • For complex queries use xpath and searchservice"
  • For simple queries use FileFolderService and simpleSearch"
Q&A"

Weitere ähnliche Inhalte

Was ist angesagt?

Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...Axway Appcelerator
 
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...Chris McNulty
 
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...Chris McNulty
 
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsMigration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsBitTitan
 
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick Start
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick StartFishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick Start
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick StartKim Negaard
 
Gulf Computers Presentation
Gulf Computers PresentationGulf Computers Presentation
Gulf Computers Presentationharish_kris
 
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...C/D/H Technology Consultants
 
All Covered National Brochure
All Covered National BrochureAll Covered National Brochure
All Covered National BrochureScottSvehlak
 
Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011David Broussard
 
Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Agora Group
 

Was ist angesagt? (19)

Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
A Guide to Scalable SharePoint Governance
A Guide to Scalable SharePoint GovernanceA Guide to Scalable SharePoint Governance
A Guide to Scalable SharePoint Governance
 
NESPUG - 5 ways SP can benefit the PMO
NESPUG - 5 ways SP can benefit the PMONESPUG - 5 ways SP can benefit the PMO
NESPUG - 5 ways SP can benefit the PMO
 
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...
See Beyond the Numbers - Data Visualization and Business Intelligence in Shar...
 
SharePoint Conference Recap - Social
SharePoint Conference Recap - SocialSharePoint Conference Recap - Social
SharePoint Conference Recap - Social
 
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from th...
 
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsMigration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
 
Rover trac final
Rover trac finalRover trac final
Rover trac final
 
Why portal jsf - Srest
Why portal jsf - SrestWhy portal jsf - Srest
Why portal jsf - Srest
 
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick Start
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick StartFishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick Start
Fishbowl Solutions Mobile ECM Webinar Presentation: iPad Quick Start
 
Extranets webinar 2011_12_14
Extranets webinar 2011_12_14Extranets webinar 2011_12_14
Extranets webinar 2011_12_14
 
Gulf Computers Presentation
Gulf Computers PresentationGulf Computers Presentation
Gulf Computers Presentation
 
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...
Today's Unified Communications: To upgrade, coexist, or go 'all in' with the ...
 
All Covered National Brochure
All Covered National BrochureAll Covered National Brochure
All Covered National Brochure
 
Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011Catapult k2 partner event oct 12 2011
Catapult k2 partner event oct 12 2011
 
Sod Profile
Sod ProfileSod Profile
Sod Profile
 
Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012Oracle - Document Life - 6apr2012
Oracle - Document Life - 6apr2012
 
AIS SharePoint & BI Presentation 24th july 2012
AIS SharePoint & BI Presentation 24th july 2012AIS SharePoint & BI Presentation 24th july 2012
AIS SharePoint & BI Presentation 24th july 2012
 
SharePoint Conference Recap - Business Process Automation Session
SharePoint Conference Recap - Business Process Automation SessionSharePoint Conference Recap - Business Process Automation Session
SharePoint Conference Recap - Business Process Automation Session
 

Andere mochten auch

Alfresco day madrid jeff potts - community
Alfresco day madrid   jeff potts - communityAlfresco day madrid   jeff potts - community
Alfresco day madrid jeff potts - communityAlfresco Software
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationAlfresco Software
 
CUST-13 What’s New in Share Extras
CUST-13 What’s New in Share ExtrasCUST-13 What’s New in Share Extras
CUST-13 What’s New in Share ExtrasAlfresco Software
 
John Newton - Government Without Walls
John Newton - Government Without WallsJohn Newton - Government Without Walls
John Newton - Government Without WallsAlfresco Software
 
Community vision and plan webinar 7 july2011
Community vision and plan webinar 7 july2011Community vision and plan webinar 7 july2011
Community vision and plan webinar 7 july2011Alfresco Software
 
The Shift to Business Solutions
The Shift to Business SolutionsThe Shift to Business Solutions
The Shift to Business SolutionsAlfresco Software
 

Andere mochten auch (6)

Alfresco day madrid jeff potts - community
Alfresco day madrid   jeff potts - communityAlfresco day madrid   jeff potts - community
Alfresco day madrid jeff potts - community
 
PLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR IntegrationPLAT-4 Understanding the SOLR Integration
PLAT-4 Understanding the SOLR Integration
 
CUST-13 What’s New in Share Extras
CUST-13 What’s New in Share ExtrasCUST-13 What’s New in Share Extras
CUST-13 What’s New in Share Extras
 
John Newton - Government Without Walls
John Newton - Government Without WallsJohn Newton - Government Without Walls
John Newton - Government Without Walls
 
Community vision and plan webinar 7 july2011
Community vision and plan webinar 7 july2011Community vision and plan webinar 7 july2011
Community vision and plan webinar 7 july2011
 
The Shift to Business Solutions
The Shift to Business SolutionsThe Shift to Business Solutions
The Shift to Business Solutions
 

Ähnlich wie CASE-4 Automating Business Processes in Denver: A Technical Case Study

Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...mfrancis
 
DevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsDevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsOutlyer
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben KepesIntergen
 
ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010Ben Kepes
 
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middlewareinvestorrelation
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesHector Tapia
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYCChristian Posta
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
 
Armedia Case Management with Alfresco ECM
Armedia Case Management with Alfresco ECMArmedia Case Management with Alfresco ECM
Armedia Case Management with Alfresco ECMArmedia LLC
 
Mobilizing Microsoft SharePoint Server: An MBaaS PErspective
Mobilizing Microsoft SharePoint Server: An MBaaS PErspectiveMobilizing Microsoft SharePoint Server: An MBaaS PErspective
Mobilizing Microsoft SharePoint Server: An MBaaS PErspectivekidozen
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtrutyRon Favali
 
Changes in Application Architecture
Changes in Application ArchitectureChanges in Application Architecture
Changes in Application ArchitectureNuxeo
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtTechWell
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development ExperienceIvan Dwyer
 
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...IBM Rational
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stackHector Tapia
 

Ähnlich wie CASE-4 Automating Business Processes in Denver: A Technical Case Study (20)

Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
 
DevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOpsDevOps Cardiff - Monitoring Automation for DevOps
DevOps Cardiff - Monitoring Automation for DevOps
 
Business and Online Services - Ben Kepes
Business and Online Services - Ben KepesBusiness and Online Services - Ben Kepes
Business and Online Services - Ben Kepes
 
ON event - May 2010
ON event - May 2010ON event - May 2010
ON event - May 2010
 
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
"Oracle Insight for Investors" Educational Webcast - Oracle Fusion Middleware
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Microservices Journey NYC
Microservices Journey NYCMicroservices Journey NYC
Microservices Journey NYC
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
Armedia Case Management with Alfresco ECM
Armedia Case Management with Alfresco ECMArmedia Case Management with Alfresco ECM
Armedia Case Management with Alfresco ECM
 
Mobilizing Microsoft SharePoint Server: An MBaaS PErspective
Mobilizing Microsoft SharePoint Server: An MBaaS PErspectiveMobilizing Microsoft SharePoint Server: An MBaaS PErspective
Mobilizing Microsoft SharePoint Server: An MBaaS PErspective
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
 
A Microservice Journey
A Microservice JourneyA Microservice Journey
A Microservice Journey
 
Changes in Application Architecture
Changes in Application ArchitectureChanges in Application Architecture
Changes in Application Architecture
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
From Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical DebtFrom Monoliths to Services: Paying Your Technical Debt
From Monoliths to Services: Paying Your Technical Debt
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development Experience
 
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...4.4.2013  Software, System, & IT Architecture - Good Design is Good Business:...
4.4.2013 Software, System, & IT Architecture - Good Design is Good Business:...
 
Securing the Cloud Native stack
Securing the Cloud Native stackSecuring the Cloud Native stack
Securing the Cloud Native stack
 

Mehr von Alfresco Software

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 

Mehr von Alfresco Software (20)

Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 

Kürzlich hochgeladen

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Kürzlich hochgeladen (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

CASE-4 Automating Business Processes in Denver: A Technical Case Study

  • 1. Automating Business Processes in Denver
 A Technical Case Study" " " "Eric Harper " " " "Zia Consulting" " "eharper@ziaconsulting.com" " " "Paul Lungu " " "City & County of Denver " " paul.lungu@denvergov.org"
  • 2. Who are we?" Eric Harper •  Zia Consulting" •  Architect/PM/Developer" Paul Lungu •  City & County of Denver" •  Associate Developer"
  • 3. Who is Zia?
 A firm with deep technical expertise & strategic insight, coupled with our Agile software methodology, provides numerous benefits to our customers" Enterprise Content Management (ECM) An ECM is a cultivation of knowledge -- one of the most valuable assets to any Our  Partners   organization. A proper ECM system ensures content has integrity through proper version control, allows producers to easily create content and publish it to a variety of mediums, and it automates processes, streamlining the review, approval and distribution of content across an organization.  Zia's ECM offerings provide all of these benefits, and more, in a manner tailored to the client's business needs. Enterprise 2.0 Solutions The focus of technology should always be on people. Zia enables our customers to gain tremendous competitive advantage by allowing their team to collaborate more effectively, respond more quickly to changes, and make better decisions. Adopters of Enterprise 2.0 solutions will find they have a more productive, engaged and informed team. Enterprise Mobile Applications Mobile workforce enablement is an increasing trend for Zia s enterprise customers. Zia s Fresh Docs ECM application is available for iPhone, iPad and Android platforms. The newly released Fresh Xpense application is a simple expense and receipt capture tool for the iPhone that integrates with Xpenser.com. Zia s Agile Solution Methodology At its heart, our Agile-based methodology is centered on a close collaborative approach to maximizing value for our customers. Constant client communication is necessary to ensure that each development iteration addresses features with the highest business value, even if those features were unknown at the launch of the project.
  • 4. Some Facts about Denver " The City" •  Founded in 1858! •  Strong Mayor form of government, consolidated City-County! •  Population of 600,000! •  16th largest metro area in the United States! •  10th largest central business district in the United States! •  250,000 households! •  One of the fittest and most highly educated cities in the nation! •  11,000 city employees! •  $1+ billion annual budget! Denver Technology Services" •  Formed in 2005! •  Previously federated organizational model! •  300 IT employees! •  $48M yearly budget!
  • 5. Denverʼs Many Content Management Systems" Poor  UI     Meager  search  capability   Manual  load  of  metadata   Slow  Performance   Memory  Leaks     Nightly  Server  Reboots   One  security  role     14  disconnected   Doc  Mgmt    systems   Poor  audi=ng  &   RM  capability     LiFle  Staff  Exper=se  
  • 6. Turned to Alfresco + Zia Consulting" Phase 1: Scanned Documents (2010) •  Contracts & Financial Records" •  Migrated off Liberty IMS to Alfresco + KOFAX" •  Implemented rules-based workflow" Phase 2: CMIS Integrations (2010) •  Document Repository for PeopleSoft CRM and Financials" •  iOS App for City 311 Help Center" Phase 3: Automated Contracting Process (2011) •  Customized Advanced Workflow" •  Web Service integration with PeopleSoft" •  Supports full lifecycle of contracting process" Phase 4: Human Services Case Management (2011) •  Ephesoft Imaging front end" •  Repository Integration with custom apps"
  • 7. Contracting Workflow Process" Lifecycle •  RFP or Contract Request" •  Staff Reviews" •  Contract Drafting" •  Vendor Negotiation & Signature" •  City Council Ordinance Process" •  City Signatures" Integration •  PeopleSoft Financials (Requisition/Purchase Order)" •  SIRE Legislative Information System (Ordinance)" •  Oracle OBIEE (Reporting)"
  • 8. Contracting Workflow Process" Customized Features •  SOAP Web Service for workflow initiation" •  Task Email Notification" •  Delegation" •  “Connected” Workflow" •  Rules-driven task assignment" •  Automated PDF transformation/generation" •  UI Customizations" •  Electronic Signature" •  Management Dashboard"
  • 10. Customizations" Web Services UI Customizations •  Workflow Initiation" •  Simple (& Non-Simple) •  Other apps interfacing " Filtered Association Gen" with Alfresco" •  Content Upload" •  Wiring webscripts with JSF" Workflow Features •  Action Classes" Custom Actions on Spaces •  Delegation" Custom Core Services •  Electronic Signature (PIN)" •  Rules-driven Assignment" Testing •  PDF Generation" •  Workflow Testing" •  Unit testing actions, web services"
  • 11. Web Service example" Things you may want to do with web services (Some of this can be done using CMIS WS API) •  Search the repo for docs and meta-data" •  Initiate workflow" •  Put docs into repo" •  Why not just use CMIS API?"
  • 12. Web Service example (continued)
 Exposing servlet-based web services using JAX-WS" Spring Wiring <jaxws:endpoint id="fadService" address="/ccd/FadWebService" implementor="#fadWebService"> </jaxws:endpoint> <bean name="fadWebService" class="us.co.denver.webservice.FADWebServiceImpl"> <property name="nodeService" ref="NodeService" /> <property name="searchService" ref="SearchService" /> <property name="fileFolderService" ref="FileFolderService" /> <property name="namespaceService" ref="NamespaceService" /> <property name="transactionService" ref="TransactionService" /> <property name="repositoryHelper" ref="repositoryHelper"/> </bean> Java Code (Annotation Driven) @WebService public interface FADWebService{ public Object[] getDocumentInfo(Criteria [] c) throws FaultMsg; public String removeDocument(String uuid) throws FaultMsg; public String updateDocument(String uuid) throws FaultMsg;
  • 13. Custom Workflow Wiring Example" web-client-application-custom-context.xml – define the web-client-config-custom-wf.xml web-client-config-custom-wf.xml – defines the properties that will be displayed in your workflow workflow_def.xml – defines the flow of your work flow workflow_model.xml – defines the tasks in your workflow workflow-messages.properties – defines labels in workflow
  • 14. Workflow Action Example" Inserting page templates into the workflow <task-node name="signature-generation"> <event type="node-enter"> <script> <variable name="contractStage" access="write" /> <expression><![CDATA[contractStage = "stage4";]]></expression> </script> <action class="us.co.denver.repo.workflow.jbpm.GenerateContractAction"> <method>insertVendorSignatureTemplate</method> </action> <action class="us.co.denver.repo.workflow.jbpm.GenerateContractAction"> <method>insertCharterSignatureTemplate</method> </action> </event> <task name="gawf:signatureGenerationTask"> <assignment class="us.co.denver.repo.workflow.jbpm.assignment.DelegatableAssignment"> <actor>#{ccdwf_attorney}</actor> </assignment> </task> <transition name="done" to="generate-signature-draft"/> </task-node>
  • 15. Filtered Association Generator Example" Avoid this sort of thing. It is convoluted and complicated. Every time I look at it, I think how did I do this? This is an good example of why Share is better •  Faces" •  faces-config-custom.xml - to configure the managed bean – the bean that is controlled by faces frame work" •  " web-client-config-custom-wf.xml - to configure UI property sheet" •  Workflow" •  FilteredAssociationGenerator.java – sets up the Component" •  UIFilteredAssociationEditor.java – does heavy lifting with alfresco API (associates groups with UI component)" •  " workflow_model.xml" •  Spring" •  " web-client-application-custom-context.xml – tell spring from where to load the faces config property sheet"
  • 16. Custom Core Services Example" Extending the service registry - Wiring up JDBC service custom-web-context.xml Create the serivce <bean id="CCDJDBCService" class="us.co.denver.repo.service.CCDJDBCServiceImpl"> <property name="workFlowNameMappingDAO" ref="workFlowNameMappingDAO" /> <property name="ServiceRegistry" ref="CCDServiceRegistry"/> </bean> Create DAO to use JDBC template <bean id="workFlowNameMappingDAO" class="us.co.denver.repo.dao.WorkFlowNameMappingDAOImpl"> <property name="simpleJdbcTemplate" ref="simpleJdbcTemplate" /> </bean> Extend the Alfresco service registry <bean id="CCDServiceRegistry" class="us.co.denver.repo.service.CCDServiceDescriptorRegistry" parent="ServiceRegistry"> </bean> Wire up Spring's simple JDBC template to query the DB <bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate"> <constructor-arg ref="defaultDataSource" /> </bean>
  • 17. Workflow Testing Example" Base Test •  Initialize Spring! new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml"); serviceRegistry = (ServiceRegistry) _context.getBean(ServiceRegistry.SERVICE_REGISTRY); Abstract Workflow Test •  Set up workflow" •  EndAssignedTaskByName" Workflow Test •  Define path for workflow test" •  Task Completion Methods – update properties and end task" •  Start with the happy path, incorporate revision paths incrementally"
  • 18. Unit Testing Example" Dependencies •  Not easy to mock dependencies" •  Easy to load Spring container" new ClassPathXmlApplicationContext("classpath:alfresco/application-context.xml"); You can also use the context config annotation "@ContextConfiguration(locations={"classpath:alfresco/application-context.xml","classpath:us/co/denver/fads/ webservice/fad-service-test-context.xml"}) Don’t use @RunWith (SpringJUnit4ClassRunner.class) Get Service Registry and then test classes serviceRegistry = (ServiceRegistry) context.getBean(ServiceRegistry.SERVICE_REGISTRY); Setup and Create tests @Before public void setup(){ @Test public void testGetDocumentInfoWhenYEqualsX(){
  • 19. Jetty Embedded" We use Jetty for development •  Allows projects in workspace to run without building war •  Starts fast, less restarts •  Set up projects to build as AMPS •  Easy to configure new projects to use Jetty •  Easy to configure different startup setups depending on projects •  Point jetty at config and classes dir in your project <Set name="extraClasspath"> <Call class="org.apache.commons.lang.StringUtils" name="join"> <Arg> <Array type="java.lang.String"> <Item>../CCDCore/build/classes</Item> <Item>../CCDCore/config</Item> <Item>../ContractingAutomation/build/classes</Item> <Item>../ContractingAutomation/config</Item>
  • 20. Lessons Learned" •  Long workflows difficult to get right (both design and implement) •  Better to start simple and build incrementally •  Testing is difficult (build infrastructure as you go) •  Use web scripts when possible for UI modifications •  J2EE servers can be difficult •  Indexing Clustering issues •  Alfresco configs •  LDAP •  JODConverter •  Fileservers •  Don’t forget Zero Day config •  Test Performance!
  • 21. It helps to know" Java, Javascript, Faces, Spring Spring Framework • Spring patterns - DI/IoC, Interface, Marker, Factory" • Spring initialization life-cycle" Alfresco API • Service based architecture" • Not very intuitive" • Consider getting properties from a node. You would expect to be able to get properties with a noderef. Instead you must use the node service." Xpath • For complex queries use xpath and searchservice" • For simple queries use FileFolderService and simpleSearch"
  • 22. Q&A"