Скачать презентацию Open Source CMS MDD TDD Pros and Cons Скачать презентацию Open Source CMS MDD TDD Pros and Cons

4526ab47444b9387a65cfb4d7dbb9230.ppt

  • Количество слайдов: 42

Open Source CMS, MDD, TDD: Pros and Cons Eclipse Texo, Seam, Alfresco, XForms, Assembla 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 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 • Самый крупный производитель деталей для электроники • 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 Yageo. com Eclipse Texo Project 4 Jazz. Team. org Springsite. com Eclipse Foundation

Eclipse Texo Project 5 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 Задачи 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 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 Особенности организации проекта Eclipse Texo Project 9 Jazz. Team. org Springsite. com Eclipse Foundation

Особенности организации проекта • Distributed scrum team • Customer is Open Source contributor – Особенности организации проекта • 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. 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. 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 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 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 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 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. 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 Deployment Eclipse Texo Project 18 Jazz. Team. org Springsite. com Eclipse Foundation

01 Технологии • • Alfresco & ECMSs Texo Seam MDD & TDD Eclipse Texo 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 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 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 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 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= 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

Seam Eclipse Texo Project 25 • Jazz. Team. org Springsite. com Eclipse Foundation

XForms & chiba Eclipse Texo Project 26 • Server and client model • XML 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

XForms & chiba • Catalogue • Eclipse Texo Project 27 delete selected Jazz. Team. org Springsite. com Eclipse Foundation

02 a little bit jump into project Eclipse Texo Project 28 В Крыму Jazz. 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 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 плагины (виджеты). Автоматически 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 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 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 через файлы настроек • Скачать сырцы, что-то изменить, Типы кастомизаций • 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 > 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 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 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 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) • • • 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 • • 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 Выше показан один из возможных вариантов развития проекта и команды. Нет единого рецепта. 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 Презентацию можно найти Спасибо! Надеюсь, было интересно и полезно! Вопросы? 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 Opportunities • Вы желаете обучаться или работать на java • Участвовать в Open Source • Вам нравятся небольшие Scrum команды • Вы думаете об удалённой работе • Хотелось бы поработать за границей, но не знаете как • Тренинг повышения эффективности Java программиста Java Brains Reloading Eclipse Texo Project 42 Давайте пообщаемся после презентации! Jazz. Team. org Springsite. com Eclipse Foundation