Open Source CMS, MDD, TDD: Pros and Cons презентация

Содержание

JazzTeam.org Springsite.com Eclipse Foundation 00 Введение О чём я расскажу Commercial outsourcing + open source Коротко об enterprise Java CMSs Презентация Texo Eclipse project Alfresco introduction and tips Open Source

Слайд 117.10.2010
JazzTeam.org Springsite.com Eclipse Foundation
Open Source CMS, MDD, TDD: Pros and Cons


Eclipse Texo, Seam, Alfresco, XForms, Assembla

Real world project highlights

Дмитрий Горячко

независимый J2EE консультант, основатель команды JazzTeam,
Eclipse committer


Слайд 2JazzTeam.org Springsite.com Eclipse Foundation
00 Введение
О чём я расскажу
Commercial outsourcing + open

source
Коротко об enterprise Java CMSs
Презентация Texo Eclipse project
Alfresco introduction and tips
Open Source customization
Project highlights
Постараюсь, чтобы рассказ был не сухим и был интересным не только для java разработчиков

Слайд 3JazzTeam.org Springsite.com Eclipse Foundation
Yageo.com
Самый крупный производитель деталей для электроники
Исторически сайт создавался

компанией springsite.com
Web 2.0 фаза

Слайд 4JazzTeam.org Springsite.com Eclipse Foundation
Yageo.com


Слайд 5JazzTeam.org Springsite.com Eclipse Foundation


Слайд 6JazzTeam.org Springsite.com Eclipse Foundation
Как появился заказчик
Всегда вкладывай в людей, с которыми

работаешь
Получена рекомендация
У думающих людей не бывает плохого опыта
Экспертиза fits requirements (Epam CMS)
Мой вопрос к Аркадию Добкину и его ответ про продуктовые и аутсорсинговые компании
Мысль материальна
Заказчик из мира Open Source

Слайд 7JazzTeam.org Springsite.com Eclipse Foundation
Задачи
Integrate enterprise CMS
Contact management
Complicated search among all the

products (including competitors)
E-news, subscribers management
Products management (batch update too)
Web statistics
Support all possible roles, flows (editor, admin, technical admin)
All should be friendly-administrated

Слайд 8JazzTeam.org Springsite.com Eclipse Foundation
Let us scrum
киевское метро


Слайд 9JazzTeam.org Springsite.com Eclipse Foundation
Особенности организации проекта


Слайд 10JazzTeam.org Springsite.com Eclipse Foundation
Особенности организации проекта
Distributed scrum team
Customer is Open Source

contributor
Open for architecture changes
No fear, motivated to new
Not formal, friendly attitude
Доверяйте интуиции
Первая оплата через 2 месяца после начала проекта
Проект на 2 года с большой плотностью инноваций весь срок

Слайд 11JazzTeam.org Springsite.com Eclipse Foundation
Why not to use Mind Maps for project

documentation

Слайд 12JazzTeam.org Springsite.com Eclipse Foundation
Why not to use Mind Maps for project

documentation

Слайд 13JazzTeam.org Springsite.com Eclipse Foundation
Open for architecture changes
Feel free to customize if

need (coding)
Seam
Alfresco
Chiba (OS W3C XForms implementation)
Hibernate
Eclipse Texo
New phase of development (project Teneo)


Слайд 14JazzTeam.org Springsite.com Eclipse Foundation
No fear, motivated to new
We need apply recursion

into XForms and implement/built in recursive AJAX UI – let us invest time/money into it and gain knowledge on this area deeper
Конечно, позволял заказчик
2 человека-месяца (с высокой квалификацией)
Alfresco server debug
Complicated UI (hundreds of recursive controls, which are widgets itself)


Слайд 15JazzTeam.org Springsite.com Eclipse Foundation
Recursive XSD widgets (xs:switch) AJAX based


Слайд 16JazzTeam.org Springsite.com Eclipse Foundation
Recursive XSD widgets (xs:switch) AJAX based


Слайд 17JazzTeam.org Springsite.com Eclipse Foundation
Recursive XSD widgets (xs:switch) AJAX based
Jazz Koktebel


Слайд 18JazzTeam.org Springsite.com Eclipse Foundation
Deployment


Слайд 19JazzTeam.org Springsite.com Eclipse Foundation
01 Технологии
Alfresco & ECMSs
Texo
Seam
MDD & TDD


Слайд 20JazzTeam.org Springsite.com Eclipse Foundation
Alfresco notes
State of art. Wanna grow in Java

– study sources of Alfresco or Seam
Modularity
All is node and services around
Not only document management
Everything related to node could be implemented
Node type
Flows, Web Forms and many other things
extendable
XSD + XSLT (other templating language) = XML, HTML, JS, Java, JSF – anything
Web scripting
The same model as Epam CMS
It is possible to have XSD describing layout

Крым, Симферополь,
Детский джазовый концерт


Слайд 21JazzTeam.org Springsite.com Eclipse Foundation
Texo Eclipse project presentation
By springsite.com


Слайд 22JazzTeam.org Springsite.com Eclipse Foundation
Texo Eclipse project presentation


Слайд 23JazzTeam.org Springsite.com Eclipse Foundation
Seam
JSF
Creator of Hibernate
Contexts
Interceptors without AoP
Built in IoC
Rather new

community
Sometimes it is hard to debug and investigate what is wrong
Good community
State of art (contexts)

Слайд 24JazzTeam.org Springsite.com Eclipse Foundation
Seam
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://jboss.com/products/seam/components

http://jboss.com/products/seam/components-2.1.xsd http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.1.xsd http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd http://jboss.com/products/seam/international http://jboss.com/products/seam/international-2.1.xsd http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.1.xsd http://jboss.com/products/seam/async http://jboss.com/products/seam/async-2.1.xsd">
">

Слайд 25JazzTeam.org Springsite.com Eclipse Foundation
Seam



name="em" auto-create="true" entity-manager-factory="#{yageo}" />


Слайд 26JazzTeam.org Springsite.com Eclipse Foundation
XForms & chiba
Server and client model
XML
XSD description

of structured form (even recursive – if your framework supports it ☺)
http://en.wikipedia.org/wiki/XForms
Not only for internet
Could be MVC


From http://www.w3.org/MarkUp/Forms/


Слайд 27JazzTeam.org Springsite.com Eclipse Foundation
XForms & chiba


minOccurs="0" name="Author" type="xs:string"/>














Catalogue


delete selected





Слайд 28JazzTeam.org Springsite.com Eclipse Foundation
02 a little bit jump into project
В Крыму


Слайд 29JazzTeam.org Springsite.com Eclipse Foundation
Alfresco based TDD layouts flow
XSD
Layout
content block
ECore


Texo


POJO Java
Texo meta
Html

design
divs



Templates
Xslt/freemarket



Alfresco
web forms



User

xml





Seam JSF

ResourceBundle,
Configs,
Even web.xml

Restart
publish
etc








Слайд 30JazzTeam.org Springsite.com Eclipse Foundation
Texo based TDD flow
XSD
Java POJO

EMF ECore
Java Texo
meta

model



Java Texo
Core

Templates


ORM


UI: JS jQuery
widget



has access to all


Слайд 31JazzTeam.org Springsite.com Eclipse Foundation
Layouts flow
Content block позволяют рассматривать новый функционал как

UI плагины (виджеты). Автоматически поддержка CMS.

Слайд 32JazzTeam.org Springsite.com Eclipse Foundation
Project data exchange


Слайд 33JazzTeam.org Springsite.com Eclipse Foundation
Open Source contribution results
Eclipse Teneo (only ORM) >

Texo
One more Eclipse member
Chiba changes contribution
Tries to discuss XForms standard changes
Seam forum participating
Issue with contexts
Alfresco changes
Dramatic
WCM AJAX, layout to manage renditions, others
A wish to become commercial committer
Contribution is sent but particularly ignored


Слайд 34JazzTeam.org Springsite.com Eclipse Foundation
Типы кастомизаций
IoC, reflexion через файлы настроек
Скачать сырцы, что-то

изменить, переподложить под сервер
Сырцов нету (multivalent.sourceforge.net). Decompile, adjust, compile

Два последних варинта рискованны, если продукт будет долго развиваться.

Слайд 35JazzTeam.org Springsite.com Eclipse Foundation
Open Source model of project
vertical model - OOP

> reusable components > frameworks > open source > usage at next projects
Motivation
Convenient way to touch with partners
Ask them to join your OS project and see what happens
All that is done for free in minutes, and results in a week (productivity etc)

Слайд 36JazzTeam.org Springsite.com Eclipse Foundation
Open Source cons (то, что всплыло на проекте)
Weak

communities
Not always user centric development
Смешение технологий – for handy people
Нет успокоения (но и нет старпёрства)
Customizations, customizations, customizations
Effort on R&D

Из интерьера знаменитой
49 квартиры


Слайд 37JazzTeam.org Springsite.com Eclipse Foundation
Money?
Become committer with potential customer
Long investments
Create popular industry/direction

(что сейчас делается в проекте Texo)
Конференции, где бывают заказчики мира Java Open Source
Independent consulting
Name
A way to start cooperation with people immediately
For eclipse – not one month of contribution
For sourceforge etc.
Create user
Add to project
Develop Use Case




Способный customer facer
Могу дать телефон


Слайд 38JazzTeam.org Springsite.com Eclipse Foundation
CMS
Good to have XSD support
And recursion
Good to become

an entry point for all the management/admin pages
Good to be node specific
Good to have web scripting
finally flows
And convenient management of renditions
E-CMS integration should allow to do (web.xml, configs, bundles, localization) in the way you use wordpress

Слайд 39JazzTeam.org Springsite.com Eclipse Foundation
Bonus 00: j2ee vs ruby (basing on mashpit

trainings)

Context handling
Много времени для вхождения новичкам
Хостинг дешевеет, clouding
Java is up to have closures
Byte code manipulators
Aop, IoC, OSGI
Simple syntax
Proved technology
MVC frameworks: spring, struts, seam. Tons of views, TDD
ORM and JPA
Ant, Maven
Good to have compilation errors




Стенсил во Львове


Слайд 40JazzTeam.org Springsite.com Eclipse Foundation
Bonus 01: расширяемое программирование in Java
Пляшем от полиморфизма
Generics
IoC(spring,

self-made, seam, web.xml, context.xml)
Dependency injection (interceptors, chains), AoP (joints)
Patterns
Plugins (self made, OSGI, etc.)
WS-* (service mix, equinox, wsdl, JSON, REST)
Bytes manipulation (create classes on the flight, interception on the flight – hard to debug)
Polymorphic systems (ruby frontend – java backend)
Class loading art
UI: widgets, web scripting
MDD, TDD, CMS took important role
Built in scripting



Слайд 41JazzTeam.org Springsite.com Eclipse Foundation
Выше показан один из возможных вариантов развития проекта

и команды. Нет единого рецепта.

Балкончик без лесенки

Open Source company?
Product based company?
Outsourcing?
Trainings?

I do not know ☺


Слайд 42JazzTeam.org Springsite.com Eclipse Foundation
Спасибо! Надеюсь, было интересно и полезно! Вопросы?
Презентацию можно найти

здесь jazzteam.org/devcamp10
Zmicer.harachka@gmail.com
Zmicer.com

Слайд 43JazzTeam.org Springsite.com Eclipse Foundation
Opportunities
Вы желаете обучаться или работать на java
Участвовать в

Open Source
Вам нравятся небольшие Scrum команды
Вы думаете об удалённой работе
Хотелось бы поработать за границей, но не
знаете как
Тренинг повышения эффективности Java
программиста Java Brains Reloading

Давайте пообщаемся после презентации!

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика