이걸 만든 사람이 제프 한 이라는 뉴욕대 연구원이라고 하네요.
이것의 이름은 Interactive Touch Media Wall 이라고 합니다.
10만달러 래요.
저번에 MS 에서도 비슷하지만 약간 이것보단 떨어지는 것이 나왔었죠..
앞으로 키보드나 마우스 제조업은 사양산업이 아닐지..
유튜브에 가면 다른 영상도 있더라구요. 앞으로 우리 어플리케이션이 마이너리티 리포트에 나오던 그런 모습에 가까워 진거 같습니다.
http://adobeflex.tistory.com/entry/Flex에-대한-단상 - Flex는 기업의 업무환경을 표현하기 위해 개발된 UI 솔루션으로, 편리한 업무환경을 제공하고, 빠르고 쉽게 개발이 가능하고, 유지보수를 편리하게 해주는 것이 목적이여야 하는데 화려한 UI에만 치우쳐 본연의 목적이 상실된다는 이야기
Ajax 와 Flex 비교 설명 http://blog.naver.com/cache798?redirect ··· 05364322 - Ajax 는 Javascript + XML이라는 태생적 한계 때문에 생기는 언어적 한계와 구현의 복잡성, 웹 브라우저별로 상이한 DOM 핸들링 및 메모리 처리방법으로 인한 호환성 문제, Back/Forward, Bookmark등의 사용자 편의성 문제, Ajax를 이해한 제대로 된 기획안 부재와 Flash 수준의 화려한 UI API 부재 등의 단점이 있음,
- Flex로 구축하였을 때 장점 사용자 : 편리한 유저 인터페이스와 어떤 환경의 클라이언트라도 동일한 화면을 제공받을 수 있음. 개발자 : 플렉스는 표준을 준수하는 xml태그와 액션스크립트로 코딩되므로 html 코딩을 이해하는 수준이면 쉽게 배울 수 있음.
농협 인터넷 뱅킹 flex 구축사례 http://www.adobeflex.co.kr/pds/nh.html - 사용자 편의에 맞게 UI가 동적으로 반응하고 사용자의 서비스 이용을 용이하게 하되 보안상 안전하고 쉽게 익숙해질 수 있는 서비스를 목표롤 적당한 솔루션을 물색하던 중 flex를 도입함.
Ajax 와 Flex의 공존 http://blog.naver.com/romad61an?redirec ··· 09520891 - flex는 풍부한 UI를 구현할 수 있다는 장점이 있지만 Flash가 멀티미디어 데이터를 압축, 저장하는 목표를 만들어진 것이기 때문에 웹 상의 정보 표현이라는 기본 목표에 충실하기 어렵움. 이에 반에 Ajax는 웹 상에서 사용자 경험을 한층 높어주면서도 웹표준에 입각한 데이터 교환 및 문서 내 데이터를 쉽게 사용할 수 있는 장점 --> 이런 장단점을 보완해주는 서비스 차트나 다이어그램 같은것은 Flash, 기타 통계 수치는 ajax 등의 웹 페이지로 제공
Struts2 의 기본적인 운영환경은 아래와 같습니다. - Servlet API 2.4 - JSP API 2.0 - Java 5
따라서 Struts2를 적용하기 위해서는 Java 와 어플리케이션 서버의 Java EE 버전의 호환 여부를 잘 살펴봐야 합니다.
만약 Java 4를 사용하고 있다면 아래의 Struts2 라이브러리 및 관련 라이브러리를 Java 4와 호환가능한 라이브러로 교체해 주어야 합니다. - strut2-core-2.x.x.jar - xwork-2.x.x.jar - struts2-spring-plugin-2.x.x.jar
JSR-94는 자바 기반 룰 엔진 구현을 위해 썬 마이크로 시스템에서 제안 한 표준 API이다. 여기서는 룰을 등록, 제거, 필터적용. 세션관리와 같은 표준을 제공하며, 다양한 벤더의 룰엔진과 연동이 가능하다. 룰엔진과 스프링 IOC의 결합은 spring Extensions(JSR-94)를 통해 연결할 수 있다.
JBoss Rules 란?
JBoss Rules은 drools 룰엔진으로 더욱 잘 알려져 있는 오픈소스 룰엔진이다. 이클립스 플러그인이 제공되어 자동화된 룰 파일 작성, 비주얼한 룰 플로우 작성 기능도 제공하고 있다. 충실한 매뉴얼을 제공하는 오픈소스 룰엔진이라는 점은 Jboss Rules의 최대 장점이다.
spring Extensions(JSR-94) Configuration
Spring Configuration에서는 <리스트1>과 같이 6개의 bean을 등록한다. rulServiceProvider bean에서는 적용하려고하는 룰엔진을 등록한다. 실행은 ruleRuntime bean에서 담당하고, ruleSource bean에서 사용자가 작성한 룰파일을 임포트한다. jsr94Template bean에서는 적용된 ruleSource를 비즈니스 로직에서 적용할 수 있는 Jsr94Template 클래스를 제공한다.
<리스트 1> spring Extensions(JSR-94)의 JbossRules configuration의 예
비즈니스 로직에서 룰엔진 불러오기
비즈니스 로직은 위에서 언급한 jsr94Template 클래스를 이용해서 룰 엔진을 실행한다. 이를 위해서는 서비스클래스가 선언된 bean에 jsr94template bean을 선언해주어야 한다.
비즈니스 로직에서는 룰엔진이 적용될 오브젝트를 선언하고, 룰엔진에 해당 오브젝트를 넣어주는 부분이 필요하다. jsr94Template은 적용대상 오브젝트를 List 타입으로 받는다. 이는 여러 개의 오브젝트를 대상으로 룰 파일을 작성하는 것이 가능함을 의미한다.
룰 세션 적용 방법(stateless, stateful)
JSR-94 API에서는 룰 세션을 적용할 때 두 종류의 적용방법을 제공한다.
첫째는 stateless 방식이다. 이는 말 그대로 룰세션을 유지하지 않겠다는 의미이다. 그러므로 룰엔진에 적용될 오브젝트가 생길 때마다 룰엔진 적용되었던 기존 오브젝트를 모두 넣어주어야 한다.
두 번째 방식은 stateful 방식이다. 이 방식에서는 룰세션이 유지되므로 룰엔진을 불러오는 로직에서는 룰을 적용할 대상 오브젝트를 추가해주기만 하면 된다. 한 어플리케이션에서 여러 개의 비즈니스 로직이 룰엔진을 사용할 경우 룰세션이 유지되는 stateful방식을 사용하는 것이 유리하다.
각 방식에 따라 비즈니스 로직에서 룰엔진을 불러오는 코드가 달라지는데 적용 예를 <리스트2> <리스트3>에서 볼 수 있다.
--
public Employee findEmployee(int employeeId ) throws Exception { final Employee employee = employeeDao.findEmployee(employeeId); getTemplate().executeStateless(EMPLOYEE_RULE_URI, null,new StatelessRuleSessionCallback() { public Object execute(StatelessRuleSession session) throws InvalidRuleSessionException,RemoteException { List employeeList = new ArrayList(); employeeList.add(employee); return (Employee)(session.executeRules(employeeList)).get(0);}}); return (Employee)employee; } <리스트 2> stateless 방식에서 룰엔진을 적용하는 예