ecm technical solution
DESCRIPTION
ECM Technical SolutionTRANSCRIPT
![Page 1: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/1.jpg)
ORACLE FUSION – CONTENT REPOSITORY TECHNICAL SOLUTION
Author: Diego Thanh Nguyen
10/8/12 www.smartbiz.vn 1
![Page 2: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/2.jpg)
10/8/12 www.smartbiz.vn 2
q I. Introduction to WebDAV & Apache Jackrabbit v I.1. WebDAV v I.2. Apache Jackrabbit
q II. Technical Solution v High-‐Level Architecture v Oracle Fusion Groupware Component v Pilot Sample – “view appointments of a week” v UseCase v Detail Design & Sequence Diagram v Pseudo Code
![Page 3: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/3.jpg)
3
I.1. WebDAV q Web-‐based Distributed Authoring & Versioning q WebDAV (RFC 2518 -‐ deYined by IETF) v Namespace management (Collections) v Metadata for Web-‐resources (Properties) v Overwrite protection (Locking)
q WebDAV Extensions v Versioning of resources (RFC 3253) v Searching & Locating v Access Control
q Uses XML for properties, control, status
![Page 4: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/4.jpg)
I.2. WebDAV – HTTP extensions
q HTTP v Options v Get v Post v Put v Head v Delete v Trace v Connect
q WebDAV (additional methods) v PropFind v PropPatch v MkCol v Delete for collections v Put for collections v Copy, Move v Lock, Unlock
q Body == XML
4
![Page 5: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/5.jpg)
I.2. JCR Features
![Page 6: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/6.jpg)
I.2. JCR Features
![Page 7: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/7.jpg)
I.2. JCR Features
![Page 8: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/8.jpg)
I.2. Jackrabbit architecture
![Page 9: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/9.jpg)
9
II.1. High-‐Level Architecture
SERVERJSR-168 CONTAINER
Ente
rCon
nect
Gro
upw
are
API
Jaka
rta
Slid
e A
PIJa
kart
a C
omm
ons
HTT
P C
lient
Exch
ange
C
onne
ctor
Jaka
rta
Com
mon
s Lo
ggin
gJa
va T
rans
actio
n A
PI
JDO
M (J
SR 1
02)
Ope
nGro
upw
are
Con
nect
orLo
tus
Dom
ino
Con
nect
or
CLIENT
Web browser(IE, FireFox, etc.)
INTERNET/INTRANET
Enterprise Application ServicesAuthentication/ Authorization
Logging/ Tracing
JSR-168 PORTLETS – Spring Portlet MVC Framework
Presentation/Interface Tier
Services Tier
Integration Tier
Spring Java Database Connectivity
Spring Java Transaction
Spring Beans
Spring WebStrutsStruts
Java Server PagesJava Server PagesJSTLJSTL X
MLB
eans
Message-Driven
Enterprise Java Beans
Spring Remoting
Spring Remoting
Spring Messaging
Java Messaging
Presentation/Interface Tier
Services Tier
Integration Tier
Spring Java Database Connectivity
Spring Java Transaction
Spring Beans
Spring WebStrutsStruts
Java Server PagesJava Server PagesJSTLJSTL X
MLB
eans
Message-Driven
Enterprise Java Beans
Spring Remoting
Spring Remoting
Spring Messaging
Java Messaging
COLLABORATION SERVER
MS Exchange 2003
Calendar
Contact
Task
Uploaded Document
Web
DA
V Se
rver
Domino Lotus Server
Calendar
Contact
Task
Uploaded Document
Web
DA
V Se
rver
![Page 10: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/10.jpg)
10
II.2.1. EC Groupware Component
EnterConnect Groupware API
Jakarta Slide API
Jakarta Commons HTTP Client
Exchange Connector
Jakarta Commons Logging Java Transaction API
XML HTTP request
XML HTTP response
JDOM (JSR 102)
OpenGroupware Connector
Lotus Domino Connector
MS Exchange 2003
Calendar
Contact
Task
Uploaded Document
Web
DA
V Se
rver
EnterConnect Groupware API: A unified interface for all connectors that access the groupware servers via WebDAV, applying Singleton, Façade and Factory design patterns
All connectors utilize the Jakarta Slide (client-side) API to send requests to and receive responses from a variety of WebDAV-enabled groupware servers
Jakarta Slide re-uses some of open source libraries such as the Jakarta Commons library (HTTP Client and Logging), JDOM (JSR 102), JTA, JMX, …
![Page 11: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/11.jpg)
11
II.2.2. EC Groupware Design Pattern
<<Abstract Factory>>
ECGroupwareFactory
ECLotusDominoConnector ECOpenGroupwareConnector<<Singleton>>
<<Façade>>
ECExchangeConnector
<<Factory Method>>
«interface»MailManager
ExchangMailManager
ExchangeCalendarManager
ExchangeTasksManager
«interface»CalendarManager
«interface»TasksManager
Apache Slide Class
![Page 12: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/12.jpg)
12
II.3.1. Pilot Sample – UseCase (1)
Use Case View appointments of a week
Description The goal of this use case is to allow end-user to view his/her appointments of the selected week.
Actors End-user
Preconditions 1. The end-user’s account has been configured.
2. The end-user is opening the Calendar page.
Steps 1. The end-user would like to view the appointments of a week by selecting week view of Calendar.
àThe system will display the list of appointments of the current week.
2. The end-user would like to see the appointments of another week by selecting another week. àThe system will display the list of appointments of the selected week.
Variations (optional) TBD
Non-Functional (optional) TBD
Issues TBD
![Page 13: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/13.jpg)
13
II.3.1. Pilot Sample – UseCase (2)
Screen shot:
![Page 14: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/14.jpg)
14
II.3.2. Pilot Sample – Sequence Diagram (1)
portlet: CalendarPortlet
service: CalendarService
connector: ECGroupwareConnector
Exchange Server
2: getWeekAppointmentList()
3: prepareWebdavRequest()
4: getListOfAppointment [Webdav request]
5: result (list of appointments) in the xml format
11: Appoinment Model instance list
1: getCalendarWeekModel()
7: prepareWebdavRequest()
6: parseAppointmentIds()
8: getAppointmentDetails [Webdav request ]
9: appointment details in xml format
10: parseAppointmentDetails()
12: getAdditionInfo()
13: prepareCalendarWeekModel()
14: a CalendarWeekModel instance
![Page 15: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/15.jpg)
15
II.3.2. Pilot Sample -‐ Sequence Diagram (2)
Method Description 1:getCalendarWeekModel() Get data from server and return the model for the Calendar Week
View page.
2:getWeekAppointmentList() Get data from server and return the list of Appointment instances in a week of a user.
3:prepareWebdavRequest() Create the Webdav request to get the list of appointments in a week.
4:getListOfAppointment Perform the Webdav request have created in 3:
6:parseAppointmentIds() Parse the xml data from server to get the Ids of the appointments.
7: prepareWebdavRequest() Create the Webdav request to get the appointments details
8:getAppointmentDetails Perform the Webdav request have create in 7
10:parseAppointmentDetails() Parse the xml data from server to get the appointment details.
12:getAdditionInfo() Get some addition info necessary for the Calendar Week View page (e.g. Public Folders, Private Folders, etc.)
13:prepareCalendarWeekModel() Transform the appointment list & additional data above into the CalendarWeekModel.
![Page 16: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/16.jpg)
16
3.3.3. Pilot Sample -‐ Model Classes
q Some Model Classes related to this scenario.
![Page 17: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/17.jpg)
17
3.3.4. Pilot Sample -‐ Psuedo Code (1)
q Class CalendarManager
![Page 18: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/18.jpg)
18
II.3.4. Pilot Sample -‐ Psuedo Code (2)
q Class CalendarService
![Page 19: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/19.jpg)
19
Application Directory
1. Portal project
2. Spring Config
3. Modules
4. Libraries
2 1
3
4
![Page 20: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/20.jpg)
20
Screenshot: Login Screen
URL: localhost:7001/insidebridgeway/insidebridgeway.portal
![Page 21: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/21.jpg)
21
Screenshot: Home Page
![Page 22: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/22.jpg)
22
1 4
5
8
News/Message Portlet
![Page 23: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/23.jpg)
23
News/Message Portlet Item No.
Portlet Type Porlet Instances
Edit Page Flow Content Page Flow 1 News /
Message Bridgeway News Alert
/portlets/epContentEditor/edit/editController.jpf /portlets/epContentEditor/epContentEditorController.jpf
4 News / Message
Executive Message
/portlets/epContentEditor/edit/editController.jpf /portlets/epContentEditor/epContentEditorController.jpf
5 News / Message
What's New /portlets/epContentEditor/edit/editController.jpf /portlets/epContentEditor/epContentEditorController.jpf
8 News / Message
Company News
/portlets/epContentEditor/edit/editController.jpf /portlets/epContentEditor/epContentEditorController.jpf
![Page 24: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/24.jpg)
24
1
2
3
4
5
6
7
8
9
10
Home Page Portlets
![Page 25: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/25.jpg)
25
Home Page: Other Portlets Item Portlet Type Porlet Instances Edit Page Flow Content Page Flow
2 Links Company Links /portlets/epLinks/epLinksAdmin/EpLinksAdminController.jpf
/portlets/epLinks/EpLinksController.jpf 3 Calendar Company Calendar /portlets/Calendar/CalendarController.jpf 6 Discussion
Forums Company Discussion Boards
/portlets/collaboration/nativedb/discussion/admin/Content/ContentController.jpf
/portlets/collaboration/nativedb/discussion/admin/Content/ContentController.jpf
7 Contacts Controller
Company Directory /portlets/Contacts/ContactsController.jpf 9 Broadcast
News Broadcast News /portlets/RSSCMS/edit/editController.jpf /portlets/RSSCMS/RSSController.jpf
10 Popular Documents
Popular Documents /portlets/epContentRepository/folderContent/FolderContentController.jpf
![Page 26: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/26.jpg)
26
Document Library Page
11 12
13
14
![Page 27: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/27.jpg)
27
Document Library Page: Portlets
Item Portlet Type Porlet Instances Edit Page Flow
Content Page Flow 12 Document Library
Statistics Document Library Statistics
/portlets/epContentRepository/statistics/StatisticsController.jpf 13 My Documents My Documents /portlets/epContentRepository/myContributions/MyContributionsController.jpf 14 Recently Submitted
Documents Recently Submitted Documents
/portlets/epContentRepository/recentlySubmittedContent/RecentlySubmittedContentController.jpf
11 15
Document Library Document Repository /portlets/epContentRepository/browse/BrowseController.jpf
![Page 28: ECM Technical Solution](https://reader034.vdocuments.mx/reader034/viewer/2022052410/556104dbd8b42a8c388b5812/html5/thumbnails/28.jpg)
10/8/12 www.smartbiz.vn 28
THANK YOU !