4526ab47444b9387a65cfb4d7dbb9230.ppt
- Количество слайдов: 42
Open Source CMS, MDD, TDD: Pros and Cons Eclipse Texo, Seam, Alfresco, XForms, Assembla Real world project highlights Дмитрий Горячко Eclipse Texo Project независимый J 2 EE консультант, основатель команды Jazz. Team, Eclipse committer 17. 10. 2010 Jazz. Team. org Springsite. com Eclipse Foundation
00 Введение • О чём я расскажу – – – Eclipse Texo Project 2 Commercial outsourcing + open source Коротко об enterprise Java CMSs Презентация Texo Eclipse project Alfresco introduction and tips Open Source customization Project highlights • Постараюсь, чтобы рассказ был не сухим и был интересным не только для java разработчиков Jazz. Team. org Springsite. com Eclipse Foundation
Yageo. com Eclipse Texo Project 3 • Самый крупный производитель деталей для электроники • Исторически сайт создавался компанией springsite. com • Web 2. 0 фаза Jazz. Team. org Springsite. com Eclipse Foundation
Yageo. com Eclipse Texo Project 4 Jazz. Team. org Springsite. com Eclipse Foundation
Eclipse Texo Project 5 Jazz. Team. org Springsite. com Eclipse Foundation
Как появился заказчик • Всегда вкладывай в людей, с которыми работаешь – Получена рекомендация • У думающих людей не бывает плохого опыта – Экспертиза fits requirements (Epam CMS) • Мой вопрос к Аркадию Добкину и его ответ продуктовые и аутсорсинговые компании Eclipse Texo Project 6 • Мысль материальна – Заказчик из мира Open Source Jazz. Team. org Springsite. com Eclipse Foundation
Задачи Eclipse Texo Project 7 • 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 Jazz. Team. org Springsite. com Eclipse Foundation
Let us scrum Eclipse Texo Project 8 киевское метро Jazz. Team. org Springsite. com Eclipse Foundation
Особенности организации проекта Eclipse Texo Project 9 Jazz. Team. 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 • Доверяйте интуиции Eclipse Texo Project 10 – Первая оплата через 2 месяца после начала проекта – Проект на 2 года с большой плотностью инноваций весь срок Jazz. Team. org Springsite. com Eclipse Foundation
Why not to use Mind Maps for project documentation Eclipse Texo Project 11 Jazz. Team. org Springsite. com Eclipse Foundation
Why not to use Mind Maps for project documentation Eclipse Texo Project 12 Jazz. Team. org Springsite. com Eclipse Foundation
Open for architecture changes • Feel free to customize if need (coding) Eclipse Texo Project 13 – Seam – Alfresco – Chiba (OS W 3 C XForms implementation) – Hibernate – Eclipse Texo • New phase of development (project Teneo) Jazz. Team. 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 человека-месяца (с высокой квалификацией) Eclipse Texo Project 14 • Alfresco server debug • Complicated UI (hundreds of recursive controls, which are widgets itself) Jazz. Team. org Springsite. com Eclipse Foundation
Recursive XSD widgets (xs: switch) AJAX based Eclipse Texo Project 15 Jazz. Team. org Springsite. com Eclipse Foundation
Recursive XSD widgets (xs: switch) AJAX based Eclipse Texo Project 16 Jazz. Team. org Springsite. com Eclipse Foundation
Recursive XSD widgets (xs: switch) AJAX based Eclipse Texo Project 17 Jazz Koktebel Jazz. Team. org Springsite. com Eclipse Foundation
Deployment Eclipse Texo Project 18 Jazz. Team. org Springsite. com Eclipse Foundation
01 Технологии • • Alfresco & ECMSs Texo Seam MDD & TDD Eclipse Texo Project 19 Jazz. Team. 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 • Eclipse Texo Project 20 • • • 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 Крым, Симферополь, Детский джазовый концерт Jazz. Team. org Springsite. com Eclipse Foundation
Texo Eclipse project presentation Eclipse Texo Project 21 By springsite. com Jazz. Team. org Springsite. com Eclipse Foundation
Texo Eclipse project presentation ORM JPA Hibernate Eclipse link XSD XML Java In memory Eclipse Texo Project 22 EMF ECore Your own format TDD JSON/Rest GWT UI part Web Services Planned Under development by me Jazz. Team. org Springsite. com Eclipse Foundation
Seam • • Eclipse Texo Project 23 JSF Creator of Hibernate Contexts Interceptors without Ao. P Built in Io. C Rather new community Sometimes it is hard to debug and investigate what is wrong • Good community • State of art (contexts) Jazz. Team. org Springsite. com Eclipse Foundation
Seam • Eclipse Texo Project 24 xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance" xsi: schema. Location=" http: //jboss. com/products/seam/components-2. 1. xsd http: //jboss. com/products/seam/core-2. 1. xsd http: //jboss. com/products/seam/persistence-2. 1. xsd http: //jboss. com/products/seam/transaction-2. 1. xsd http: //jboss. com/products/seam/security-2. 1. xsd http: //jboss. com/products/seam/international-2. 1. xsd http: //jboss. com/products/seam/mail-2. 1. xsd http: //jboss. com/products/seam/async-2. 1. xsd"> Jazz. Team. org Springsite. com Eclipse Foundation
•
XForms & chiba Eclipse Texo Project 26 • 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. w 3. org/Mark. Up/Forms/ Jazz. Team. org Springsite. com Eclipse Foundation
02 a little bit jump into project Eclipse Texo Project 28 В Крыму Jazz. Team. org Springsite. com Eclipse Foundation
Layouts flow Restart publish etc Html design divs ECore User Templates Xslt/freemarket XSD Layout content block Alfresco web forms xml Required Java Eclipse Texo Project Texo 29 Jazz. Team. org Springsite. com Eclipse Foundation Resource. Bundle, Configs, Even web. xml Seam JSF
Layouts flow • Content block позволяют рассматривать новый функционал как UI плагины (виджеты). Автоматически поддержка CMS. Eclipse Texo Project 30 Jazz. Team. org Springsite. com Eclipse Foundation
Project data exchange Eclipse Texo Project 31 Jazz. Team. 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 Eclipse Texo Project 32 – A wish to become commercial committer – Contribution is sent but particularly ignored Jazz. Team. org Springsite. com Eclipse Foundation
Типы кастомизаций • Io. C, reflexion через файлы настроек • Скачать сырцы, что-то изменить, переподложить под сервер • Сырцов нету (multivalent. sourceforge. net). Decompile, adjust, compile Eclipse Texo Project 33 • Два последних варинта рискованны, если продукт будет долго развиваться. Jazz. Team. 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 Eclipse Texo Project 34 – 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) Jazz. Team. org Springsite. com Eclipse Foundation
Open Source cons (то, что всплыло на проекте) Eclipse Texo Project 35 • Weak communities • Not always user centric development • Смешение технологий – for handy people • Нет успокоения (но и нет старпёрства) • Customizations, customizations • Effort on R&D Из интерьера знаменитой 49 квартиры Jazz. Team. org Springsite. com Eclipse Foundation
Money? • • Eclipse Texo Project 36 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 Могу дать телефон Jazz. Team. org Springsite. com Eclipse Foundation
CMS • Good to have XSD support – And recursion Eclipse Texo Project 37 • 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 Jazz. Team. org Springsite. com Eclipse Foundation
Bonus 00: j 2 ee vs ruby (basing on mashpit trainings) • • • Eclipse Texo Project 38 • • • Context handling Много времени для вхождения новичкам Хостинг дешевеет, clouding Java is up to have closures Byte code manipulators Aop, Io. C, OSGI Simple syntax Proved technology MVC frameworks: spring, struts, seam. Tons of views, TDD ORM and JPA Ant, Maven Good to have compilation errors Стенсил во Львове Jazz. Team. org Springsite. com Eclipse Foundation
Bonus 01: расширяемое программирование in Java • • Eclipse Texo Project 39 • • • Пляшем от полиморфизма Generics Io. C(spring, self-made, seam, web. xml, context. xml) Dependency injection (interceptors, chains), Ao. P (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 Jazz. Team. org Springsite. com Eclipse Foundation
Выше показан один из возможных вариантов развития проекта и команды. Нет единого рецепта. Open Source company? Product based company? Outsourcing? Trainings? I do not know Eclipse Texo Project Балкончик без лесенки 40 Jazz. Team. org Springsite. com Eclipse Foundation
Спасибо! Надеюсь, было интересно и полезно! Вопросы? Eclipse Texo Project 41 Презентацию можно найти здесь jazzteam. org/devcamp 10 • Zmicer. harachka@gmail. com • Zmicer. com Jazz. Team. org Springsite. com Eclipse Foundation
Opportunities • Вы желаете обучаться или работать на java • Участвовать в Open Source • Вам нравятся небольшие Scrum команды • Вы думаете об удалённой работе • Хотелось бы поработать за границей, но не знаете как • Тренинг повышения эффективности Java программиста Java Brains Reloading Eclipse Texo Project 42 Давайте пообщаемся после презентации! Jazz. Team. org Springsite. com Eclipse Foundation


