Upload
hannah-kim
View
736
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
JBoss User Group 대표
김 병 곤 ([email protected])
소프트웨어 공학과 BPM의 만남:KALM(Korean Application Lifecycle Management)
JBoss Application Server 무료 교육
JBoss User Group 스터디 모임 운영
핚국자바개발자협의회(JCO) 활동
오픈소스 프로젝트 참여(KALM)
1단계
• 개별 도구들의 집합
• 개별 도구의 기능에만 의존
2단계
• 도구와 통합
• 일관성 부여
3단계
• Knowledge Management
• Process Management
http://www.thoughtworks-studios.com/go-agile-release-management
“프로세스 중심”의 SW 품질 향상을 위핚개발 플랫폼
SOA/WOA 및 엔터프라이즈 2.0를 위핚Alfresco ECM, Liferay Enterprise Portal, Sakai LMS, Pentaho PI Platform을 통합
(OSS Mash-up by OSS)
미리 만들어진 일련의 개발 프로세스를KALM이 제공해준다면???
Static Analysis
Check Style (코딩 표준 검사)
PMD (소스코드의 문제점 검사)
DocCheck (JavaDoc 검사)
JDepend (Package 의존성 검사)
Documentation
JavaDoc Activity
APIviz Activity
JavaDoc에 UML Class Diagram을 자동으
로 넣어주는 JBoss Community Doclet
기타
Hudson Trigger Activity
Continuum Trigger Activity
Build
Ant Checkout Activity
Maven Checkout Activity
Maven Tagging Activity
Custom Activity는 ALM 프로세스를 구현하기 위핚 uEngine 프로세스 엔진의 어댑터 컴포넌트
Custom Activity는 프로세스 디자인 환경에 Deploy 되어 IDE Tool에서 Activity Icon으로
Introspection 되어 실제 프로세스를 Composition 하는데 사용된다.
Process DesignerProcess Runtime Engine
Process Manager
Custom Activity
ActivityA
ActivityB
ActivityC
ActivityA
ActivityB
ActivityC
Composite Process
Custom Activity
Process Definition
ProcessDefinition
Custom Activity Development
ActivityA
ActivityB
ActivityC
Process Runtime 환경 프로세스 디자인 환경
KALM 개발 환경
DeployDeploy
KALM
ServiceA
ServiceB
ServiceC
public class ContiuumTriggerActivity extends DefaultActivity {
private String url;
private String id;
private String password;
private String projectGroupName;
public ContiuumTriggerActivity() {
... 생략}
@Override
public void executeActivity(ProcessInstance instance) throws Exception {
URL url = new URL(getUrl() + "/xmlrpc");
ContinuumXmlRpcClient client = new ContinuumXmlRpcClient(url, getId(),
getPassword());
List<ProjectGroupSummary> pgs = client.getAllProjectGroups();
for (ProjectGroupSummary projectGroup : pgs) {
if (projectGroup.getName().equals(getProjectGroupName())) {
client.buildGroup(projectGroup.getId());
}
}
}
... 생략}
VCS
Subversion
Branching, Backup
CVS
Tagging, Branching
Git
Documentation
FindBugs
Auriga Doclet / PDFDoclet
Change Log
DocBook
JUnit Report
기타
Unit/Integration Test
Hadoop/Pig Job
Oozie Hadoop Workflow Job
기타 등등
Build
Maven
Release, Assembly
Site Publishing
TeamCity Trigger
Quickbuild Trigger
Atlassian Bamboo Trigger
커뮤니케이션
통합 및 빌드개발자들간 일관된 코딩 스타일의 부재
늦은 커밋으로 인핚 통합 빌드 문제 빌드 프로세스의 표준화 부재
문서화
사용자 친화적인 문서의 부재
오픈소스 프로젝트는 일반적으로 코딩 중심적
전문적인 문서 관리 담당자 부재
커미터의 업무 로드 인한
프로젝트 참여의 어려움
커미터간 지리적으로 떨어져 있어서
커뮤니케이션이 어려움
사용자와 커미터간 직/간접 형태의커뮤니케이션 문제
표준화된 릴리즈 관리 부재
커뮤니케이션
통합 및 빌드일관된 코딩 스타일 유지를 위핚
IDE간 템플릿 제공
Continuous Integration 도입
문서화
Technical Writer전문적인 문서 관리 담당자가
전체 산출물을 관리
언제든지 코드를 작성할 수 있는
환경을 구축
주 채널은 메일링 리스트로 하고
일정 주기의 모임을 통한 의사 결정
메일링 리스트 또는 포럼 개설
표준화된 릴리즈 관리를 위핚
Maven 과 같은 관리 도구 도입
DocBook과 같은 표준화된산출물 작성 방법 필요
Management Documentation
BPM Engine
Development
User Interface
Activity
Project Management
Issue Management
Release Management
API
Developer/User Manual
Process
WIKI
2011
2010
2012
• EPF W/f 자동화EPF 결과물 ExportEPF 결과물 실행 연동
• 웹 2.0 기반 협업
• 모바일 지원
• Open UP 방법론 추가
• 프로세스기반 ALM
• 스크럼 방법론 프로세스 탑재
• 이클립스 연동
• EDM 통합(알프레스코)
• End-to-End Process지원
• ITIL/ITSM 프로세스지원
• 산업별 특화 프로세스 추가
EPF Approach
Developers & Supporters
(출처: www.eclipse.org/epf/)
Project plantemplates
Lessons learnt from previous project and iteration
Content onmanaging
iterative development Corporate guidelineson compliance
Content on agile development
JUnit user guidance
Content on J2EE
Configure a cohesive process frameworkcustomized for my project needs
Create project plan templates for Enactment of process in the context of my project
Standardize representation and manage libraries of reusable Method Content
Develop and manage Processesfor performing projects
Process assetspatterns
Standard or reference processes
Guidance on serialized java beans
Configuration mgmtguidelines
Eclipse EPF KALM
사용자 커뮤니티 √√√ √
방법론 테일러링 √
WBS기반 편집 √
워크플로우 자동화 √
이클립스 툴 연동 수준 √√√ √
프로세스 조회 √ √
프로세스 실행 모니터링 √
프로세스 분석 및 개선 √
EPF & KALM
상호보완 및 시너지 발생 !!!
XMI-2-BPELConverter
EPF Composer
KALM Server
• Create reusable method content– Roles, tasks, artifacts, guidelines, examples, templates
• Create reusable process patterns– E.g. design, implement and test a scenario
• Create processes for different project types
• Create derivative method content and processes
• Upgrade to new baseline of method content and processes
테일러링된방법론 프로세스
(XMI)
실행가능 워크플로 프로세스
(BPEL)
To-do-list Automation OfficeTools
DocumentManagement
http://www.k-alm.org 사이트에 접속
모집 범위
일반 사용자 문서화 프로세스모델링
Full Time 개발자(채용)
에반젤라이징