addMonitor
Completed a new feature:add or delete a monitor.It seems very easy,however it could not be implemented without a good system architecture.


posted @ 2008-01-25 16:53 afunms 閱讀(164) | 評論 (0) | 編輯 收藏
My Software,My Dream—Forge a more perfect NMS product.
posted @ 2008-01-25 16:53 afunms 閱讀(164) | 評論 (0) | 編輯 收藏
Enlighten by EventLogAnalyzer, I acquired a perfect solution for alarm subscrible.
Users can subscrible alarm from devices which belong to many categories,
or even a single device.
posted @ 2008-01-24 16:53 afunms 閱讀(363) | 評論 (0) | 編輯 收藏
Completed four messagers,which are used to send alarm message.
POPMessager,popping a window in the right bottom.
SMSMessager,sending alarm message with sms.
EmailMessager,sending alarm message with email.
ItsmMessager,sending alarm message to ITSM service.
posted @ 2008-01-21 17:12 afunms 閱讀(128) | 評論 (0) | 編輯 收藏
posted @ 2008-01-18 10:35 afunms 閱讀(355) | 評論 (0) | 編輯 收藏
posted @ 2008-01-17 10:41 afunms 閱讀(84) | 評論 (0) | 編輯 收藏
Completed LinkReport.There are two questions should be improved in the
next version.
The first,the relevant DAO classes filled with repetitious code.I consider to
reconstruct these DAOs.
The second,suddenly I am aware that Builder Pattern is the best way to
solve the complex problem of creating a report.
The code likely be following:
ReportBuilder builder = new ReportBuilder();
Director director = new Director( builder );
director.construct();
Report report = builder.createReport();
-----------------Builder Pattern------------
The Builder pattern allows a client object to construct a complex object by specifying only its
type and content.The client is shielded from the details of the object's construction.
It is a pattern for step-by-step creation of a complex object so that the same construction process
can create different representations is the routine in the builder pattern that also makes for finer
control over the construction process. All the different builders generally inherit from an abstract
builder class that declares the general functions to be used by the director to let the builder create
the product in parts.
Builder has a similar motivation to the abstract factory but, whereas in that pattern, the client uses
the abstract factory class methods to create its own object, in Builder the client instructs the builder
class on how to create the object and then asks it for the result. How the class is put together is up
to the Builder class. It's a subtle difference.
The Builder pattern is applicable when the algorithm for creating a complex object should be
independent of the parts that make up the object and how they are assembled and the construction
process must allow different representations for the object that is constructed.
posted @ 2008-01-14 22:25 afunms 閱讀(134) | 評論 (0) | 編輯 收藏
posted @ 2008-01-10 11:23 afunms 閱讀(120) | 評論 (0) | 編輯 收藏
DAO design was revised repeatedly recent days,I am glad of getting a perfect DAO solution
finally.
The sticking point in DAO design is where a DB connection is opened and when
to close it. Sometimes,one action executes only one DAO method,the connection
should be closed immediately follow the method. Sometimes, However, one action
may contain many DAOs or a series of methods in a DAO, (in other words, called transaction).
A same connection is used in DAOs,so closing connection after method execution is incorrect.
Therefore,I wrote two DAO's constructors for above two scenarios.For the first scenario,
opening a connection inside DAO,and close it at once after a method is invoked.For the second
scenario,a connection is created outside DAO, when instantiating a new DAO class,the connection
is passed from outside.We cope with this case (a transaction) in a service,the service invokes more
than one DAOs.DB connection is opened when service starting,and closed at the end of service.
posted @ 2008-01-09 10:21 afunms 閱讀(164) | 評論 (0) | 編輯 收藏
A reflection on my SourceView’s architecture from Li showing it is awkward to add a
new node in TopoResource.I accepted it with an open mind(modestly).
I modified the base class NodeLoader.class,defines three abstract methods:
addNode(DtoInterface dto):adds the node’s information into DB table,at the same time,
add this node into topo map(a xml file).This method is used during polling period.
loadAll():loads all table records onto memory,in other words,transforms persistence
data to memory objectsThis methods is invoked while starting Tomcat.
loadOne(DtoInterface dto): transforms a table record to a memory object. This method
is used during polling period too.
posted @ 2008-01-05 13:14 afunms 閱讀(124) | 評論 (0) | 編輯 收藏
@Amidala:
你的程序沒錯啊,但你測試環境有問題。
1.3.6.1.4.1.9.2.1.8.0是Cisco的oid(具體這個oid是取什么值我也不知道)
但127.0.0.1是你的本機,你不可能在一臺Cisco機器上寫你的Java程序吧?呵呵。
建議找一臺安裝snmp的服務器,或者直接在你的機器上安裝snmp并啟動snmp服務。
以下是我按你的原程序改過的,我測試過了,沒問題。
posted @ 2007-12-29 12:57 afunms 閱讀(340) | 評論 (4) | 編輯 收藏
posted @ 2007-12-28 14:21 afunms 閱讀(120) | 評論 (0) | 編輯 收藏
前段時間,用snmp4j取cdpCacheAddress時,發現snmp4j有問題,取出的值是亂碼。
所以下載的最新的版本,問題解決。
可今天發現新的snmp4j也有問題,就是取windows interface時,ifDescr是亂碼,
把舊的snmp4j替換新的,問題解決,暈倒。
因為cdpCacheAddress用得少,所以還是用舊版的snmp4j吧。
posted @ 2007-12-27 11:28 afunms 閱讀(1482) | 評論 (7) | 編輯 收藏
Li到政法網辦最后一次更新程序。
解決atm snmp trap接收和翻譯的問題。
因為用戶沒有了提什么要求,所以我們沒有再去政法網。
這個項目做得不算好,因為對于ATM,我們能取到的數據實在有限。
posted @ 2007-12-22 19:00 afunms 閱讀(150) | 評論 (0) | 編輯 收藏