读Camel in Action 有感 – 基础篇–Part 1

2012年4月4日 没有评论

学习Camel有一段时间了,中间断断续续了解了一些Camel的基础知识,如果你有ESB相关的开发背景,了解Camel应该也非常的容易,Camel是完全按照EIP(Enterprise Integration Pattern)来设计的一个"集成框架(Integration Framework)“,就像Spring, 它本身不是一个容器,必须依赖于别的WEB服务器来运行,譬如Tomcat,Weblogic等等.

关于Camel的定义,引用官方的一句话:

阅读全文…

分类: Java 标签: , ,

Siebel Session Management using CXF Client

2012年3月28日 没有评论

If you want to know how to use java web service client to add soap authentication header and get session token from Siebel web service, you’ll appreciate this article.

Before reading this article, if you want to how to enable Session Management for Siebel web

阅读全文…

Generate web service client with Apache CXF in Maven

2012年3月27日 没有评论

In this topic, I will discuss how to use maven to generate web service client code automatically with Apache CXF, here are the step by step instructions:

  • Before you prepare the maven pom file, you first should get the WSDL file

阅读全文…

分类: Java 标签: , , ,

How To Set up web service session management and best practices [ID 1266239.1]

2012年3月27日 没有评论

Note that the following article is copied from Oracle Support web site,  because some of you might not have the access to Oracle Support web site, so I share with you here

———————————————————————————————————————-

Applies to:

Siebel CRM – Version: 7.8.2 [19213] to 8.1.1.3[21219] – Release: V7 to V8
Information in this document applies to any platform.

Purpose

The purpose of this document is to explain how to enable Session Management for Web Service calls and its best practices.

Scope and Application

How To Set up web service session management and best practices

阅读全文…

密码保护:Gelivable! The 2011 GDC Annual Party

2011年1月25日 要查看留言请输入您的密码。

这是一篇受密码保护的文章。您需要提供访问密码:


分类: 未分类 标签:

密码保护:不给力的2010

2011年1月21日 要查看留言请输入您的密码。

这是一篇受密码保护的文章。您需要提供访问密码:


分类: 未分类 标签:

.Net 框架介绍

2011年1月13日 没有评论

CLR – 公共语言运行环境

来管理各种代码的执行过程,并为.NET语言开发各种Web应用和服务提供了框架公共类库的FCL(Frame Class Library),FCL包括基础类库(BCL)和用户接口库

.NET 包括以下组件

-CLR

-BCL

-ADO.NET&XML

-ASP.Net based web services and Webforms

- WinForm

带参数的方法:

ref,out,params

ref: 引用型传递

out: 输出型参数

params:数组型参数,必须定义在方法参数最后一个位置

  • 继承相关:

c++支持多继承,c#如JAVA,不支持多继承,用接口来实现

C#的base 类似JAVA中的super,但用的位置不一样:

public Gradute(String i,String j,String tn):base(i,j)

{

teacher_name=tn; //在基类构造函数的基础上扩展一个要构造的成员

}

base.基类成员名

C#的Internal class,类似java的inner class

  • 多态

virtual + override来实现

abstract 抽象类 + abstract 抽象方法

密封类:sealed

public sealed class FatherClass…被密封的方法不能被继承

c#中的 is ,类似Java中的 instanceOf

e.g. if(emp is Person) 在java中 if(emp.instanceOf(Person))

C#中的 as 关键词 p = e as Employee, 如java中的 p = (Employee)e. c#也可以这样写

  • 接口

c#可以实现多个接口

public class Square:IShape,IshapePlay{}

  • 代理

代理本身不是一个类,感觉就像是一个傀儡,利用别的类来实现自身的功能

delegate int MyDelegate(int X)

MyDelegate d = new MyDelegate(c.InstanceMethod);

  • 事件

事件机制是通过代理来实现的,当一个事件被触发时,有该事件的代理来通知(调用)处理该事件的方法

EventArgs 是.Net框架提供给用户的一个事件参数类

结构和枚举

public struct MyStruct:ICloneable{}

C#的异常处理基本参考JAVA语言

public enum Weekdays{Sun,Mon,Tues,Wed,Thur,Fri,Sat}

分类: Java, 未分类 标签: ,

A typical day in the life of an agile siebel programmer

2011年1月12日 没有评论

Preface:

I made a dream to think of what I did before as a software engineer,typically an agile developer.So I got up early — recently,I became a morning guy,aslo I had an interest that I should write down it as a post to cherish the memory of my former partener(paired prorammer) — Charlie,that’s why this post comes from

suddently wanted to post a blog to memorize what’s the day life I was,also to memorize my former programmer – Charlie,a wonderful working experience with him.

So…what’s the real day in my life as an agile siebel programmer,here it is:

1. Went to the office — 8:40am,,,Now I’m a morning guy,I will come to the office around 7:20 am,not sure if the company will pay an extra hour for me..*smile* just joking

2. Opened my browser to check my Jira tasks — they will be listed at my Jira dashborad…Good day!It’s only a less than 8 hours task need to be completed today — Sigh! Recently my windows XP sucks,it took me around 5 mins to boot completely. 8:50am – 9:10am

3. Read the task and think about the design,at the meanwhile,my partner arrived at the office(9:10 am – usually he was)

4. Say “hello” and bring up the conversation about the task 9:10am – 10:00 am

1. The task is similar with the task last time we did,we can refer to the code last time we did,,blablabla…..

duplicate work vs duplicate code

5. Get the latest code from code repository and start to implement (10 – 11:30am)

Shall we refer to the test cases the test team developed? Mostly nope..we are lazy:)

6. Hey,It’s time to lunch, (11:30 ~ 12:30)

From the company policy,we have only 30 mins to have lunch,but who know,,we can leave it early,who knows:)haha

Most of us chrish this time to surf online and buy something on online store or share some good news from internet

7. Continue working(Sigh~!!!) 12:30 – 4:30

Coding is a friend

8. Daily Stand-up 4:30pm – 4:45pm

9. Leave or wait untile 5pm to leave

We can decide by ourselves,sometime,we leave late or early to avoid the traffic jam

Also I googled with “a day in the life programmer”,and found some interesting videos,but you know,China goverment had filtered out some web site(e.g. youtube,twitter,etc),so I have to use the VPN to dial on U.S. network and looked at them,,Very interesting videos:

e.g. http://www.youtube.com/watch?v=6f73o3iGwv8&NR=1

分类: 未分类 标签: , , ,

Tomcat 性能调优参数

2011年1月12日 没有评论

Tomcat默认设置没有对内存进行优化,所以经常会出现Out of memory:PerGem Space错误,

PermGen space 解决:

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError:

日志中你可以看到这样的错误:java.lang.OutOfMemoryError: PermGen space

ScreenShot055.jpg

在Tomcat Monitor 控制台上的设置:

ScreenShot054.jpg

分类: Java 标签: ,

Embed eService application in a hidden iframe for pre-authentication

2011年1月12日 没有评论

好久没有写博了,最近一直忙着项目的事情,有一个功能实现开始以为非常的简单,但是后来却出现了很多的问题,差点千里之堤毁于蚁穴,导致项目没法上线,下面介绍一下这个故事

客户需要实现的需求:

主网站重定向到 Siebel eService 时,如果是第一次访问,Siebel会自动进行用户授权验证,验证成功,则根据主站请求访问相应的视图;由于Siebel eServcie是被SSO保护的,Security Adapter会自动根据TICKET进行用户验证。客户认为重定向的时候顺带验证会影响性能,希望eService用户验证在主站访问eServcie具体视图之前就能完成。

根据用户的需求,我觉得可以通过一个隐藏的iframe来实现,譬如在主站访问eServcie之前的页面放置一个hidden iframe,里面就直接访问 eservice,例如:

<iframe url=”http://[server]/eservice_enu/start.swe/>

问题出来了,我们在自己的测试环境,由于是处在同一个域里面,所以测试都一切OK,但是如果是在不同的域,就会出现Permission Denied错误,因为iframe在不同域里面子站点有些JS就会不支持,譬如Top.location….Siebel eService在做用户授权,session检查的时候会做一些重定向,导致了上面的错误。

我们报了这个错误给ORACLE,他们说:

the Siebel Web client user interface needs to run in the top-level frame of an HTML document, so currently there is no supported way of exposing a Siebel application through an HTML iframe. This applies to both High Interactivity (HI) and Standard Interactivity (SI) applications, as well as to both framed and frameless mode. This behavior is in-built and cannot be modified.

后来我们想,既然我们不需要把页面显示给用户看,我们是否可以不通过html方式,最后尝试了再

/start.swe后面加了以下参数:” ?SWESetMarkup=XML&SWESetNoTempl=0″,问题居然解决了Ord

不知道还有什么好的解决方案?

分类: Siebel CRM 标签: , ,