eSoftHead profile
• A Vietnamese IT company set up since 8/2008.
• eSoftHead offers the following services:
– Outsourcing and Offshoring.
– Technical consultant.
– Customized services from eSoftHead products.
• Contact information:
– Service request: info@esofthead.com
– Address: 15/20/12 Truong Quoc Dung street, Ho Chi
Minh city, Viet Nam.
– Telephone: (+84) 091 8734 068
http://www.esofthead.com
eSoftHead Competences
• Methodology: CMM, RUP, Scrum, XP.
• Technology: Web Service, SOA, REST, RIA.
• Programming Languages: Java, Flex, .NET.
• Frameworks and Libraries: Spring (core and all
extensions), Hibernate, iBatis, Ehcache, Cxf,
Grails, Cairgorm.
• Softwares: LDAP, Maven, Ant, CVS, SVN.
• Database: MySQL, Oracle, MSSQL Server
http://www.esofthead.com
eSoftHead Solutions
• Rich Internet Application: Flex/Ajax base.
• Content Management: JCR 170 – Jackrabbit
implementation.
• Groupware service: Calendar, Chat, Note,
Contact, News, Forum, Wiki, Project Management
• Enterprise architecture: ESB, JMS, Osgi.
• Software best practices: TDD, Unit test, API
Design, OO Principles.
http://www.esofthead.com
Enterprise Groupware (Engroup)
• Introduction
• Features
• Roadmap
• Technical Requirements
• Engroup Architecture
• Development Status
http://www.esofthead.com
Engroup introduction
• Engroup is an open
source groupware
under GPL license.
• Engroup powers the
cooperation among
company staff by
providing the Chat,
Wiki, Forum, etc.
modules.
http://www.esofthead.com
Engroup introduction (cont.)
• In addition, Engroup
provides the modules
for company
operations such as
HRM, CRM,
Document
Management, Project
Management
• Engroup has been
developed since
4/2008.
http://www.esofthead.com
Features
• Dashboard: News, Private Message and User
Preferences.
• Administrator: system and security
configuration.
• Human Resource Management: company and
employee information.
• Customer Relationship Management: basic
customer contacts, lead, campaign information.
http://www.esofthead.com
Features (cont.)
• Forum: message board.
• Wiki: knowledge management.
• Mail: only IMAP is supported.
• Chat: any XMPP server is connectable.
• To-do: task management.
• News: all versions of RSS and Atom are
supported.
http://www.esofthead.com
Roadmap
• Engroup 1.5: Document Management, Project
Management and Timesheet modules are added
and integrated with existing modules are CRM,
HRM. Simple Reporting System is developed
that can display charts.
• Engroup 1.6: Advanced Reporting System,
Calendar module. Automatic back-up system.
• Engroup 2.0: enable System Administrator to
configure various options of clustering as well as
caching level in enterprise environment.
http://www.esofthead.com
Roadmap (cont.)
• Many modules such as Bug tracking, finance etc
could be added later.
http://www.esofthead.com
Technical Requirements
• Performance and Scalability: services must be
able to serve an unlimited number of users 24/7.
Engroup must be designed to be able to run in
clustering environment effectively.
• Extensibility: components are designed with
loose coupling and high cohesion. Cost of
upgrading and extending must be minimal.
http://www.esofthead.com
Technical Requirements (cont.)
• Modularity: Each module code base is
independent of the others. One module can be
changed without impacting any other one.
• Security: User access is restricted based on
method level of service class.
• Testability: The system is designed to make it
easy for writing unit test, integration test.
http://www.esofthead.com
High Level Architecture
• Communication
method between
Client and Server are
AMF, HTTP
protocols.
• Engroup server
modules could be
integrated with other
clients via REST.
http://www.esofthead.com
Engroup Client Platform
• Platform is developed
based on eSoftHead
framework including
an extension of
Adobe Cairngorm
framework.
• Module architecture
follows MVC pattern.
http://www.esofthead.com
Engroup Client Platform (cont.)
• Platform manages
Module life cycle.
• Platform routes
messages sent from
one module to
appropriate client
channel that then
dispatches events to
listening modules. It
helps the module
loose coupling with
each others.
• http://www.esofthead.com
Engroup Client Platform (cont.)
• Platform and common
API are independent of
AIR library.
• Factory pattern is used
to separate logic code
between platform and
specific AIR API →
Engroup client can run
on both desktop and
web environment.
http://www.esofthead.com
Engroup Server Platform
• Platform is developed based on Spring
framework and Osgi platform (Equinox) as well.
• Platform packages many third-party Java
libraries as Osgi bundles:
– Apache libraries.
– Chat.
– Logging.
– XML processing etc.
http://www.esofthead.com
Engroup Server Platform (cont.)
• Forum, Wiki, Mail products are incorporated into
Engroup server by:
– Changing the legacy code base (Limit usage).
– Data integration (for example: LDAP).
– API - using Enterprise Integration Framework Spring
Integration to implement publish-subscribe pattern to
dispatch messages to appropriate channels.
http://www.esofthead.com
Engroup Server Platform (cont.)
• Each Engroup
module follows OO
principles:
– Each layer has single
and clear
responsibility.
– Extensibility.
– No cycle dependency.
– Separating interface
and implementation
into different
packages.
http://www.esofthead.com
Development Status
• There are more than
20 Flex projects and
nearly 30 Java
projects in Engroup
workspace.
• eSoftHead automates
Engroup build
process using
Hudson – a Java CI
server.
http://www.esofthead.com
Development Status (cont.)
• Main features are
tested by using unit
test or integration test
approach.
• eSoftHead developed
its test framework
library for Osgi
platform, LDAP, Mail,
Database.
http://www.esofthead.com
0 comments
Post a comment