Monday, July 25, 2005

 

How to authenticate against the Active Directory by using forms authentication and Visual Basic .NET

How to authenticate against the Active Directory by using forms authentication and Visual Basic .NET

Monday, July 18, 2005

 

oreilly.com -- Online Catalog: Head First EJB, First Edition

oreilly.com -- Online Catalog: Head First EJB, First Edition

head first series has a great books on design patterns

 

j2ee - .NET interest article.

http://www.c-sharpcorner.com/Code/2003/March/J2EEtoDotNet.asp

Here are some Quick tips to get you started, in case you need to migrate a J2EE based application to a .NET based application.

We approach the migration tier wise. Firstly, a technology mapping between both the platforms

Service/Feature .NET J2EE
GUI WinForms SWING / AWT
Web GUI ASP/ASP.NET JSP
Web Scripting ISAPI, HttpHandler Servlet, Filter, HttpModule
Server Side Business Logic Component Serviced Component (COM+) EJB Session Beans
Server Side Data Component Server components with DB logic EJB BMP Entity Beans with DB Logic
Naming ADSI JNDI
Remote Invocation NET Remoting . RMI / RMI-IIOP
Data Access ADO.NET JDBC, SQL/J
Messaging MSMQ JMS
Transactions COM+ / MTS JTA


Highlights of the migration strategy

Presentation Tier JSP -> ASP.NET

Business Logic Tier EJB -> COM+ (.NET Enterprise Service)

Data Access Tier JDO/JDBC -> ADO.NET

1. Presentation tier migration

a). JSP -> ASP .NET (sample code snippets) :--

JSP Scriptlet :--


<%for (int i=0;i<3;i++){
out .println(i+”
" );
}
%>


ASP .NET scriptlet :--

<% for(int i=0; i<3; i++){
Response.Write(i +”
"); }
%>


JSP Expression :--

<%=new java.math.BigDecimal(10.1).negate()%>

ASP .NET Expression :--

<%=System.Decimal.Negate(new System.Decimal(10.1))%>



JSP Declaration :--

<%!
public String foo(){
return "foo";
}
%>

ASP .NET Declaration :--



b). Implicit objects :--

JSP ASP .NET

application Application
session Session
request Request
response Response
out Response.Write

c) Cookies :--

Creating a cookie and setting its expiry time.

Code in J2EE :--

<%
Cookie userCookie = new Cookie("user", "uid123");
userCookie.setMaxAge(60*60*24*365); // 1 year
response.addCookie(userCookie);
%>


Code in .NET :--

<% System.Web.HttpCookie userCookie = new System.Web.HttpCookie("user", "uid123");
System.DateTime dateTime = System.DateTime.Now;
System.TimeSpan timeSpan = new System.TimeSpan(0, 0, 60*60*24*365); // 1 year
cookie.Expires = dateTime.Add(timeSpan);
Response.Cookies.Add(userCookie);
%>

d). Beans :--

Java code :--

public class bean1 {
private String text = "Hello";
public bean1 (){
}

public String getText() {
return this.text;
}

public String setText(String text) {
this.text = text;
}
}


C# Code :--

using System;
public class bean1{
virtual public System.String Text {
get{
return this.text;
}
set{
this.text = value;
}
}

private System.String text = "Hello";
public bean1() {
}
}

e). converting Servlets to ASP .NET code behind :--

Servlet sample code :--

import javax.servlet.*;
import javax.servlet.http.*;
public class SimpleServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
java.io.IOException {
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
out.println("");
out.println("Simple Servlet Body");
out.println("");
out.close();
}
}

ASP .NET Code Behind sample :--


using System;
using System.Web;
using System.Web.UI;

public class SimpleServlet : System.Web.UI.Page{
private void Page_Load(object sender,
System.EventArgs
{
Response.ContentType="text/html";
Response.Write("");
Response.Write("Simple Servlet Body");
Response.Write("");
}
}

f). Tag Library :--

JSP ASP .NET

Tag Handler Class ASP.NET Web User Controls
JSP Tag Library Descriptor ASP.NET Web Custom Control
JSP taglib Directive


JSP tag lib Sample code :--



<%@ taglib uri="taglib.tld" prefix=“tags" %>


ASP .NET tag lib Sample code :--


<%@ Register TagPrefix="tags" TagName="sample" src=“ExampleTag.ascx" %>


g). Converting Java Applets to .NET Winforms control

Applet code :--

package HelloWorldPackage;
public class HelloWorld extends Applet
{
public void paint(Graphics g) {
g.drawString(getParameter("parameter1"), 25, 25);
}
public void init() {}
public void start() {}
public void stop() {}
}

.NET Winforms code :--

namespace HelloWorldPackage {
public class HelloWorld :System.Windows.Forms.UserControl{
String parameter1;
bool isActive;
public HelloWorld(){
init();
}
protected override void OnPaint(PaintEventArgs e){
e.Graphics.DrawString(parameter1,Font, new SolidBrush(ForeColor),25,25);
}

public void init(){
this.GotFocus += new System.EventHandler(this.helloWorldControl1_Start);
this.LostFocus += new System.EventHandler(this.helloWorldControl1_Stop);
}
}


2. Business tier migration

Migrating EJB to .NET Serviced Component

a). EJB code :-- (Session bean)

public class TellerBean implements SessionBean {
public void ejbCreate() {}
public void ejbRemove() throws
RemoteException {}
public void ejbActivate() throws RemoteException {}
public void ejbPassivate() throws RemoteException {}
public String getData()
}

.NET code :-- (serviced component corresponding to the java session bean)

[Transaction(TransactionOption.Required)]
public class TellerBean : System.EnterpriseServices.ServicedComponent
{
public void Create() {}
virtual public System.String Data
{ get{…} }
protected override void Activate(){}
protected override void Deactivate(){ }
protected void Remove {
this.Deactivate();
this.Dispose();
}
}

b). EJB Code :-- (Entity Bean)

public class AccountEntity implements EntityBean {
private string accountID;
private int balance;
public get_accountID() { … };
public get_balance() { … };
public set_balance(int amount) { … };
}

public class AccountProcess implements EntityBean {
public AccountEntity[] Inquiry() { … };
public void Insert(AccountEntity account) {
string strQuery = “SELECT * FROM tb_account”;

};

public void Update(AccountEntity account) { … };
public void Delete(string accountID) { … };
}

.NET Code :-- (serviced component corresponding to the java entity bean)

[Transaction(TransactionOption.Required)]
public struct AccountEntity {
private string accountID;
private int balance;
public AccountID { get{…}; }
public Balance { get{…}; set {…}; }
}

// dsAccount.xsd
public class dsAccount : System.Data.DataSet {

}

public class AccountProcess : System.EnterpriseServices.ServicedComponent {
public dsAccount Inquiry() { … };
public void Insert(AccountEntity account) {
DBAgent.ExecuteNonQuery(“sp_getAccount”, paramArray, …);

};

public void Insert(string accountID, int balance, … ){ … }; // Alternative
}
Create Procedure sp_getAccount ( @accountID char(8), @balance int , … )


c). Business Client Tier

Java Code :--

<%
try{
Context ctx = new InitialContext();
Object ref = ctx.lookup("TellerHome");
tellerHome = (TellerHome)
PortableRemoteObject.narrow(ref,
TellerHome.class);
teller = tellerHome.create();
out.println(teller.getData());
}
catch(Exception ex) {
out.println(ex.getMessage());
}
%>

.NET Code :--

<%
myPackage.TellerBean teller = new myPackage.TellerBean();
Response.Write(teller.Data);
%>

III) Data tier migration :--

a). Database connection :--

Java :-- (JDBC)

Class.forName("com.ms.jdbc.odbc.JdbcOdbcDriver");
dbUrl = "jdbc:odbc:ADOTEST";
conn = DriverManager.getConnection(dbUrl,"sa","");

.NET (ADO .NET)

dbUrl = "Provider=SQLOLEDB;Data Source=dbserver;Initial Catalog=Master;"
System.Data.OleDb.OleDbConnection temp_Connection;
temp_Connection = new System.Data.OleDb.OleDbConnection(dbUrl);
temp_Connection.Open();
conn = temp_Connection;


b). Statement object :--

Java :-- (JDBC)

Statement s = conn.createStatement();
createTableBooks = "SELECT count(au_lname) as nrows FROM authors";
ResultSet rs = s.executeQuery(createTableBooks);


.NET (ADO .NET)

System.Data.OleDb.OleDbCommand s = SupportClass.TransactionManager.manager.CreateStatement(conn);
createTableBooks = "SELECT count(au_lname) as nrows FROM authors";
ls.CommandText = createTableBooks;
System.Data.OleDb.OleDbDataReader rs = s.ExecuteReader();



Thursday, July 14, 2005

 

jeelabee sounds ejb



this is EJB in a nutshell...

Thursday, July 07, 2005

 

ajax


what is ajax? it is asynch. javascript and xml.

who is using ajax?
Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar techniques

This page is powered by Blogger. Isn't yours?